計算機算術

金額の計算で、2進数の浮動小数点数ではなく、最小の単位(1円や1セント)を1とする整数で扱うことが多い主な理由はどれか。

  1. A浮動小数点数では、大きな金額を一切表せないから
  2. B整数の方が、浮動小数点数より必ずメモリの使用量が少ないから
  3. C10進数の端数を2進数で正確に表せず、誤差が出るから
答えと解説を見る

正解:C. 10進数の端数を2進数で正確に表せず、誤差が出るから

10進数の0.1や0.01は2進数の浮動小数点数では正確に表せず、丸めた近い値になります。足し算を繰り返すと誤差が積み重なり、合計が1円ずれるといった問題が起こりえます。金額では1円の誤差も許されないので、最小の単位を1とする整数で計算するか、10進数のまま計算する形式を使います。浮動小数点数でも大きな金額の目安は表せますし、メモリの使用量が理由でもありません。

  • A. 大きな値も近似としては表せますが、誤差が問題です。
  • B. メモリの使用量は主な理由ではありません。
  • C. 正しい。10進数の端数を正確に表せず、誤差が問題になるからです。
この分野を解く 分野ページへ

計算機算術のほかの問題

  1. AIの混合精度の学習で、計算の多くをFP16やbfloat16で行いながら、重みの元の値(マスターウェイト)をFP32で保持しておく主な理由はどれか。
  2. 8ビットのうち下位4ビットを小数部とする固定小数点(符号なし)で、ビット列 0011 1000 が表す値はいくらか。
  3. IEEE 754の浮動小数点数を構成する3つの部分の組み合わせとして正しいものはどれか。
  4. IEEE 754の単精度(32ビット)の浮動小数点数で、符号・指数部・仮数に割り当てられるビット数の組み合わせはどれか。
  5. IEEE 754の倍精度(64ビット)の浮動小数点数で、指数部と仮数のビット数の組み合わせとして正しいものはどれか。