この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

浮動小数点数の演算では、有限のビット数でデータを表現する制約から様々な誤差が生じます。主な誤差の種類:①丸め誤差(Round-off Error):数値の最下位けたより小さい部分を四捨五入・切捨て・切上げするときに生じる誤差。②桁あふれ誤差(Overflow):演算結果がコンピュータの扱える最大値を超えることで生じる誤差。③桁落ち誤差(Cancellation Error):絶対値がほぼ等しい数値の差を計算するときに上位の有効数字が失われる誤差(0.123456 - 0.123450 = 0.000006 のように、同じ桁数の計算結果の精度が落ちる)。④情報落ち誤差(Round-off in addition):乗除算で指数部が小さい方の仮数部の下位部分が失われることで生じる誤差。丸め誤差は浮動小数点演算で最も一般的に発生する誤差であり、金融計算・科学技術計算で累積することが問題になります。

なぜ他の選択肢は違うのか

選択肢 ア
「演算結果がコンピュータの扱える最大値を超えることによって生じる誤差」は桁あふれ誤差(オーバーフロー)の説明です。丸め誤差は最大値超過ではなく、最下位けたより小さい部分の切り捨てによって生じます。「最大値超過」というキーワードでオーバーフローと区別しましょう。
選択肢 ウ
「乗除算において指数部が小さい方の数値の仮数部の下位部分が失われることによって生じる誤差」は情報落ちの説明です。大きな数と小さな数の加算で小さい方の精度が失われる現象で、丸め誤差とは発生メカニズムが異なります。
選択肢 エ
「絶対値がほぼ等しい数値の加減算において上位の有効数字が失われることによって生じる誤差」は桁落ちの説明です。近い値を引き算すると有効数字が大幅に減少するという現象で、0.9999 - 0.9998 = 0.0001(有効数字1桁に激減)が典型例です。

解くときのポイント

4種類の浮動小数点誤差:①丸め誤差(最下位けた未満の四捨五入)②桁あふれ(最大値超過)③桁落ち(ほぼ等しい数の差で有効数字喪失)④情報落ち(乗除算で小さい方の仮数部喪失)。「最下位けた+四捨五入・切捨て」が丸め誤差の決め手。