基礎理論
浮動小数点形式で表現された数値の演算結果における丸め誤差の説明はどれか。
ア.演算結果がコンピュータの扱える最大値を超えることによって生じる誤差である。
イ.数表現のけた数に限度があるので、最下位けたより小さい部分について四捨五入 や切上げ、切捨てを行うことによって生じる誤差である。正解
ウ.乗除算において、指数部が小さい方の数値の仮数部の下位部分が失われることに よって生じる誤差である。
エ.絶対値がほぼ等しい数値の加減算において、上位の有効数字が失われることによ って生じる誤差である。
解説
コンピュータの桁数には限りがあるので、表しきれない端数を「切り捨て・四捨五入」した瞬間に生まれるズレが丸め誤差。電卓のメモリが10桁しかないのに11桁目が出てきたとき、泣く泣く切り捨てるあの感覚です。
なぜ イ が正解か
浮動小数点は仮数部の桁数が有限なので、計算結果がその桁数を超えた瞬間、下位の桁を四捨五入・切捨て・切上げするしかありません。たとえば「1÷3=0.333…」を小数点3桁のメモリに入れるとき「0.333」か「0.334」に丸めるしかない——あの宿命的なズレが丸め誤差の正体です。「有限の器で無限を扱う」ことへの代償と覚えておきましょう。
出典: 基本情報技術者試験 令和7年 公開問題