スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.1881
コンピュータの浮動小数点数演算において、絶対値が非常に大きな数値と非常に小さな数値を加算したとき、小さい方の数値の有効桁数が影響して計算結果に反映されない現象として、適切なものはどれか。

【正解の解説】

情報落ち

これは「プールにスポイト一滴の水を足すようなもの」です。巨大なプールにスポイトで水を一滴足しても、プールの水位は変わりませんよね。コンピュータも同様に、扱える桁数(文字数)に限界があるため、あまりにも大きい数と小さい数を足すと、小さい方の数字が桁あふれで無視されてしまうのです。

スポンサーリンク

【その他の選択肢の解説】

桁落ち

情報落ちと混同しやすいですが、こちらは「引き算」が原因です。例えば「123.45 - 123.40 = 0.05」のように、上の桁が相殺されて消えてしまう現象を指します。足し算で消える情報落ちとは発生メカニズムが真逆なので、問題文の「加算」というキーワードを見落とさないように注意しましょう。

丸め誤差

丸め誤差は、あらゆる計算の末尾で発生する「避けて通れない細かなズレ」全般を指します。例えば「1/3を小数で表すと0.333…となり無限に続くため途中で切る」ようなイメージです。情報落ちのように特定の数字がかき消される現象とは異なり、計算の宿命として常につきまとう誤差のことです。

オーバーフロー

オーバーフローは数値が「大きすぎて枠からはみ出してしまうエラー」のことで、例えるならコップから水があふれ出る状態です。問題文にあるような「小さい方の数値が無視されて消える」という現象とは全く逆で、こちらは器の限界を超えて値が壊れてしまうことを指すため、試験でも頻出のひっかけパターンです。