メインコンテンツへ
基礎理論情報数学・離散数学

浮動小数点演算における「丸め誤差」の説明として、最も適切なものはどれか。

ア.仮数部の有限ビット数で表しきれない実数値を近似するときに生じる誤差であり、演算を繰り返すことで累積する可能性がある。正解
イ.絶対値の大きい数に小さい数を加算した際、小さい数の有効桁が仮数部に入りきらずに消える現象である。
ウ.ほぼ等しい2つの浮動小数点数を減算した際、有効桁数が急減する現象である。
エ.計算結果が指数部の表現可能範囲を超えた際に生じる現象である。

解説

丸め誤差は「物差しの最小目盛りより細かい値は切り上げ・切り捨てするしかない」問題。デジタルが連続する実数を有限ビットで近似する宿命的な誤差です。

なぜ ア が正解か

アが正解。浮動小数点数は仮数部のビット数(単精度23ビット、倍精度52ビット)で表現できる精度に限界があり、1/3=0.333... や π=3.14159... のような無限小数を格納するには必ずどこかで丸める必要がある。この丸め(切り捨て・切り上げ・最近偶数への丸め)により生じる誤差が丸め誤差で、演算のたびに蓄積される。

なぜ イ は間違いか

これは「情報落ち(cancellation of significant digits)」の説明。丸め誤差とは異なる現象で、大小の数の加算時に小さい数の有効桁が失われる。

なぜ ウ は間違いか

これは「桁落ち」の説明。ほぼ等しい値の減算で先頭桁が消えて有効桁数が激減する現象で、丸め誤差とは別物。

なぜ エ は間違いか

これは「オーバーフロー(または指数部のオーバーフロー)」の説明。表現できる最大値を超えた場合の現象で、丸め誤差とは原因が異なる。

出典: AI生成問題(学習用)