メインコンテンツへ
基礎理論

浮動小数点数の演算で発生する「情報落ち」の説明として、最も適切なものはどれか。

ア.絶対値の大きい数と小さい数を加算した際、小さい数の有効桁が失われる現象正解
イ.値がほぼ等しい2数を減算した際、有効桁数が大きく減少する現象
ウ.計算結果が表現可能な最大値を超え、無限大として扱われる現象
エ.計算結果が表現可能な最小値より小さくなり、0として扱われる現象

解説

巨大な数に米粒ほどの数を足しても丸め込まれて消える——それが情報落ち。富士山の高さに小石を載せても全長は変わらない、というイメージです。

なぜ ア が正解か

アが正解。情報落ちとは、桁数を揃えるために小さい方の数を右シフトしたとき、仮数部からあふれた有効桁が捨てられてしまう現象です。例えば 1.0×10^8 と 1.0×10^-2 を加算する際、小さい数は仮数部に入りきらず消滅し「足したのに値が変わらない」結果になります。

なぜ イ は間違いか

これは「桁落ち(cancellation)」の説明です。1.234567 − 1.234566 = 0.000001 のように、ほぼ等しい数を引くと頭の桁がそろって消え、有効数字が激減します。情報落ちとは別物。

なぜ ウ は間違いか

これは「オーバーフロー」の説明です。指数部が許容範囲を超えた場合の現象であり、加算時の桁ズレで起きる情報落ちとは原因が異なります。

なぜ エ は間違いか

これは「アンダーフロー」の説明です。表現できる最小値未満になった場合に発生する別現象で、情報落ちとは無関係です。

出典: AI生成問題(学習用)