スポンサーリンク

問題の解答・解説ページ

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

この問題をクイズ形式で解く
問題 No.1976
コンピュータにおける浮動小数点数の演算およびデータ表現に関する記述として、不適切なものはどれか。

【正解の解説】

ほぼ等しい値の2つの数値を減算したときに有効桁数が激減する現象を情報落ちと呼ぶ。

ほぼ等しい値の引き算で有効桁数が減る現象は「桁落ち」です(正解文の「情報落ち」は誤り)。これは、1億1万円から1億円を引いたときに1円しか残らず、上の大きな桁が消えてしまう現象です。1000円札の束から1000円札1枚を引くようなもので、大きな数が相殺されて細かい部分の精度が一気に失われる仕組みです。

スポンサーリンク

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

絶対値が極端に異なる2つの数値を加算したときに小さい方の数値が無視される現象を桁落ちと呼ぶ。

選択肢の記述は「情報落ち」の説明になっており、用語と現象が逆になっています。例えば、100万円に1円を足しても全体の金額が大きすぎて1円が無視されてしまうような状態です。富士山の高さに小石を1個足しても全体の高さが変わらないように、小さすぎる値が切り捨てられてしまうコンピュータ特有の誤差です。

表現できる最大値を超える数値の演算結果によって無限大や例外が引き起こされる現象をオーバーフローと呼ぶ。

コンピュータのメモリーには入る大きさに限界があり、それを超えた巨大な数値を計算しようとすると、器から水が溢れるように正しく値を保持できなくなります。これを「オーバーフロー」といい、プログラムが異常終了したり無限大として扱われたりする原因となります。

有限のビット数で数値を表現する際に生じる誤差が累積して計算結果に影響を及ぼす現象を丸め誤差と呼ぶ。

円周率を3.14や3.14159と途中で区切って計算せざるを得ないのと同様に、コンピュータも有限の桁数で小数点を表すため、細かい端数を四捨五入する「丸め」が発生します。この小さな誤差が何回も計算を繰り返すうちに積み重なり、最終的な結果に大きなズレを生じさせる原因になります。