メインコンテンツへ
基礎理論

浮動小数点形式で表現された数値の演算結果における丸め誤差の説明はどれか。

ア.演算結果がコンピュータの扱える最大値を超えることによって生じる誤差である。
イ.数表現のけた数に限度があるので、最下位けたより小さい部分について四捨五入 や切上げ、切捨てを行うことによって生じる誤差である。正解
ウ.乗除算において、指数部が小さい方の数値の仮数部の下位部分が失われることに よって生じる誤差である。
エ.絶対値がほぼ等しい数値の加減算において、上位の有効数字が失われることによ って生じる誤差である。

解説

コンピュータの桁数には限りがあるので、表しきれない端数を「切り捨て・四捨五入」した瞬間に生まれるズレが丸め誤差。電卓のメモリが10桁しかないのに11桁目が出てきたとき、泣く泣く切り捨てるあの感覚です。

なぜ イ が正解か

浮動小数点は仮数部の桁数が有限なので、計算結果がその桁数を超えた瞬間、下位の桁を四捨五入・切捨て・切上げするしかありません。たとえば「1÷3=0.333…」を小数点3桁のメモリに入れるとき「0.333」か「0.334」に丸めるしかない——あの宿命的なズレが丸め誤差の正体です。「有限の器で無限を扱う」ことへの代償と覚えておきましょう。

なぜ ア は間違いか

これはオーバーフロー(桁あふれ誤差)の説明です。丸め誤差は「桁を超えた端数をどう処理するか」の話であって、最大値をぶち破る話ではありません。限界突破はまた別の事件です。

なぜ ウ は間違いか

指数が小さい方の仮数部の下位が失われる現象は「情報落ち」と呼ばれ、加減算(桁合わせ)で起きる話です。「乗除算において」と書いている時点でアウト——舞台を丸ごと間違えています。

なぜ エ は間違いか

これは「桁落ち(Cancellation)」の説明です。ほぼ同じ値を引き算すると上位の有効桁が打ち消されて有効数字がガタ落ちになる現象で、丸め誤差とは別の種類の誤差。「ほぼ等しい数の引き算は危険」という独立した教訓を持っています。

出典: 基本情報技術者試験 令和7年 公開問題