問題

コンピュータにおける浮動小数点数の演算誤差に関する記述として、適切なものはどれか。

ア)桁落ちとは、絶対値がほぼ等しい二つの数の差を計算する際に、有効桁数が大きく減少する現象である。

イ)情報落ちとは、除算によって発生した循環小数を有限桁で打ち切ることで生じる誤差である。

ウ)浮動小数点数は仮数部と指数部で表現されるため、10進数の小数を誤差なく正確に表現できる。

エ)丸め誤差は、演算回数を増やすことで累積されずに相殺され、最終的には誤差が消滅する。

解答・解説を見る

正解: ア)

解説:

  • ア)桁落ちは、絶対値がほぼ等しい二つの数の減算を行う際に、上位の桁が打ち消し合って有効桁数が大きく減少し、相対誤差が拡大する現象です。正解です。
  • イ)情報落ちは、絶対値の差が非常に大きい数同士の加減算において、小さい方の値の下位桁が表現できずに失われる現象です。「循環小数の打ち切り」の説明ではないため誤りです。
  • ウ)浮動小数点数は2進数の仮数部と指数部で数値を近似表現する方式であり、0.1のような10進数の小数を2進数で正確に表現できないケースがあります。「誤差なく正確に表現できる」は誤りです。
  • エ)丸め誤差は演算を繰り返すごとに蓄積されていく傾向があり、演算回数を増やすことで自動的に相殺・消滅するものではありません。誤りです。

重要キーワード

用語説明
桁落ち近い値同士の減算で有効桁数が大きく減る現象
情報落ち大小差の大きい値の加減算で小さい値の情報が失われる現象
丸め誤差有限桁での表現によって生じる誤差。演算のたびに累積しうる
仮数部・指数部浮動小数点数を構成する数値表現の要素