計算機算術
金額の計算で、2進数の浮動小数点数ではなく、最小の単位(1円や1セント)を1とする整数で扱うことが多い主な理由はどれか。
- A浮動小数点数では、大きな金額を一切表せないから
- B整数の方が、浮動小数点数より必ずメモリの使用量が少ないから
- C10進数の端数を2進数で正確に表せず、誤差が出るから
答えと解説を見る
正解:C. 10進数の端数を2進数で正確に表せず、誤差が出るから
10進数の0.1や0.01は2進数の浮動小数点数では正確に表せず、丸めた近い値になります。足し算を繰り返すと誤差が積み重なり、合計が1円ずれるといった問題が起こりえます。金額では1円の誤差も許されないので、最小の単位を1とする整数で計算するか、10進数のまま計算する形式を使います。浮動小数点数でも大きな金額の目安は表せますし、メモリの使用量が理由でもありません。
- A. 大きな値も近似としては表せますが、誤差が問題です。
- B. メモリの使用量は主な理由ではありません。
- C. 正しい。10進数の端数を正確に表せず、誤差が問題になるからです。