スポンサーリンク

問題の解答・解説ページ

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

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

【正解の解説】

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

これは「情報落ち」ではなく「桁落ち」の説明です。100万と99万9999を引き算すると「1」になり、上の方の大事な数字がごっそり消えてしまう現象です。例えるなら、100メートルの巨大な定規で、1ミリの差を測ろうとして見えなくなってしまうようなものであり、ほぼ等しい値同士の引き算で発生します。

スポンサーリンク

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

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

これは「桁落ち」ではなく「情報落ち」の説明です。例えば、1億円という大金に1円を足しても、コンピュータの限られた記憶スペースでは1円が小さすぎて無視されてしまう現象です。砂漠に一粒の砂を足すようなもので、足す数が小さすぎてコンピュータの計算結果に反映されないという特徴を持っています。

表現可能な最大値を超える絶対値を持つ結果が生じたときに発生する例外処理をアンダーフローと呼ぶ。

「アンダーフロー」ではなく、上限を超えた場合は「オーバーフロー」と呼びます。例えば、最大4桁までしか入らないレジに1万円以上の金額を入れようとしてエラーになる状態と同じです。逆に、小さすぎて表現できないゼロに近い微小な値になる現象がアンダーフローと呼ばれ、名前が似ているため試験で非常に狙われやすいポイントです。

有限のビット数で数値を表現しようとするときに生じる誤差の総称を丸め誤差と呼ぶ。

コンピュータは無限の桁数を扱えないため、途中で端数を切り捨てたり四捨五入したりして近似値を保存します。これが「丸め誤差」です。円周率の「3.14159…」を「3.14」と勝手に区切って計算するようなものであり、デジタル世界で数値を扱う以上どうしても避けて通れない、避けることのできない宿命のような誤差を指しています。