問題 No.2568
コンピュータの浮動小数点数表現において、表現できる絶対値の最小値よりもさらに小さな(ゼロに近い)値になったために、数値を正常に表現・保持できなくなる現象を指す用語はどれか。
【正解の解説】
アンダーフロー
これは、計量カップの目盛りが小さすぎて、数滴というわずかな水分量を測りきれずに「ゼロ」とみなしてしまう状態に似ています。コンピュータが扱える限界を超えて小さすぎる数値になった結果、データを保持しきれず強制的に切り捨てられてしまう現象を指しています。
スポンサーリンク
【その他の選択肢の解説】
オーバーフロー
こちらはアンダーフローの逆で、数字が大きくなりすぎてコンピュータのキャパシティを超えてあふれ出してしまう状態です。水が入りきらずにコップから水があふれるイメージであり、小さくなりすぎて消えてしまう今回の現象とは真逆の意味になります。
丸め誤差
こちらは桁数が長すぎる数値を指定された枠内に収めるため、端数を四捨五入などで切り捨てる際に生じるズレを指します。値が小さすぎて消えてしまうアンダーフローとは異なり、表現できる範囲内であっても有限の桁数で表す宿命として必ず発生するものです。
桁落ち
こちらは計算の過程で発生する計算精度のトラブルであり、例えば「1.0001」から「1.0000」を引いたときに上の桁が打ち消し合って消えてしまう現象です。数値が小さすぎるアンダーフローとは発生のメカニズムが全く異なるため混同に注意が必要です。