離散数学(全64問中4問目)
No.4解説へ
浮動小数点数を,仮数部が7ビットである表示形式のコンピュータで計算した場合,情報落ちが発生しないものはどれか。ここで,仮数部が7ビットの表示形式とは次のフォーマットであり,( )2内は2進数,Yは指数である。また,{ }内を先に計算するものとする。
(1.X1X2X3X4X5X6X7)2×2Y
(1.X1X2X3X4X5X6X7)2×2Y
出典:令和4年春期 問 1
- {(1.1)2×2-3+(1.0)2×2-4}+(1.0)2×25
- {(1.1)2×2-3-(1.0)2×2-4}+(1.0)2×25
- {(1.0)2×25+(1.1)2×2-3}+(1.0)2×2-4
- {(1.0)2×25-(1.0)2×2-4}+(1.1)2×2-3
広告
解説
情報落ちは、浮動小数点演算において、絶対値の大きな数と絶対値の小さな数の加減算を行ったとき、絶対値の小さな数の有効けたの一部または全部が結果に反映されないことをいいます。一般的に数多くの数値の加算を行う場合には、絶対値の小さなものから順番に計算すると情報落ちを抑制することができます。
浮動小数点数同士の計算では、指数が小さい方の仮数部を指数が大きい方に揃え、仮数部同士を演算します。実際に計算していくと以下のようになります。
浮動小数点数同士の計算では、指数が小さい方の仮数部を指数が大きい方に揃え、仮数部同士を演算します。実際に計算していくと以下のようになります。
- (1.1)2×2-3+(1.0)2×2-4
=(1.1)2×2-3+(0.1)2×2-3 (指数部を-3に揃える)
=(10.0)2×2-3=(1.0)2×2-2
(1.0)2×2-2+(1.0)2×25
=(0.0000001)2×25+(1.0)2×25(指数部を5に揃える)
=(1.0000001)2×25
情報落ちは発生しないので、本肢が正解となります。 - (1.1)2×2-3-(1.0)2×2-4
=(1.1)2×2-3-(0.1)2×2-3 (指数部を-3に揃える)
=(1.0)2×2-3
(1.0)2×2-3+(1.0)2×25
=(0.00000001)2×25+(1.0)2×25(指数部を5に揃える)
→(1.0)2×25(情報落ちが発生)
必要な仮数部が8ビットとなり、7ビットの仮数部からあふれた部分が計算結果に反映されないため情報落ちが発生します。 - (1.0)2×25+(1.1)2×2-3
=(1.0)2×25+(0.000000011)2×25
→(1.0)2×25(情報落ちが発生)
必要な仮数部が9ビットとなり、7ビットの仮数部からあふれた部分が計算結果に反映されないため情報落ちが発生します。 - (1.0)2×25-(1.0)2×2-4
=(1.0)2×25-(0.000000001)2×25
→(1.0)2×25(情報落ちが発生)
必要な仮数部が9ビットとなり、7ビットの仮数部からあふれた部分が計算結果に反映されないため情報落ちが発生します。
広告