浮動小数点数の情報落ち
出典: 令和4年度 春期 応用情報技術者試験 午前 問1 (IPA)
浮動小数点数を,仮数部が 7 ビットである表示形式のコンピュータで計算した場合,情報落ちが発生しないものはどれか。ここで,仮数部が 7 ビットの表示形式とは次のフォーマットであり,( )₂ 内は 2 進数,Y は指数である。また,{ } 内を先に計算するものとする。
(1. X₁ X₂ X₃ X₄ X₅ X₆ X₇)₂×2^Y- ア {(1.1)₂×2⁻³+(1.0)₂×2⁻⁴}+(1.0)₂×2⁵
- イ {(1.1)₂×2⁻³−(1.0)₂×2⁻⁴}+(1.0)₂×2⁵
- ウ {(1.0)₂×2⁵+(1.1)₂×2⁻³}+(1.0)₂×2⁻⁴
- エ {(1.0)₂×2⁵−(1.0)₂×2⁻⁴}+(1.1)₂×2⁻³
正解と解説を見る
正解: ア
- ア: { } 内の結果が 2⁻² になり、2⁵ と足しても (1.0000001)₂×2⁵ と 7 ビットに収まるので情報落ちしません。正しい答えです。
- イ: { } 内は 1.1×2⁻³ − 1.0×2⁻⁴ = 2⁻³ です。2⁵ + 2⁻³ は小数点以下 8 ビット必要なので、2⁻³ が落ちます。
- ウ: 2⁵ + 1.1×2⁻³ では、2⁻³ と 2⁻⁴ の桁が入り切らず情報落ちします。
- エ: 2⁵ − 2⁻⁴ では、2⁻⁴ の桁が入り切らず情報落ちします。
ポイント
- 情報落ち: 絶対値が大きく違う数を加減算すると、小さい方の数が仮数部に入り切らず無視されてしまうことです。
- 仮数部は小数点以下 7 ビットなので、2⁵ と足すときは 2⁵⁻⁷ = 2⁻² までの桁 しか残りません。
- ア: { } 内は 1.1×2⁻³ + 1.0×2⁻⁴ = 0.1875 + 0.0625 = 0.25 = 2⁻² です。2⁵ + 2⁻² = (1.0000001)₂×2⁵ となり、7 ビットに収まります。
- イ・ウ・エは、2⁻³ や 2⁻⁴ の桁を 2⁵ と同じ数に入れる必要があり、7 ビットに収まりません。