浮動小数点数を、仮数部が7ビットである表示形式のコンピュータで計算した場合、情報落ちが発生しないものはどれか。 ここで、仮数部が7ビットの表示形式とは次のフォーマットであり、( )2内は2進数、Yは指数である。 また、{ }内を先に計算するものとする。
(1.X1X2X3X4X5X6X7)2×2Y
ア | {(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.0)2×25 = {(0.0011)2 + (0.0001)2} + (100000.0)2 = (0.01)2 + (100000.0)2 = (100000.01)2 = (1.0000001)2 になり、仮数部が7ビットなので情報落ちは発生しない。(〇) |
イ | {(1.1)2×2-3 - (1.0)2×2-4} + (1.0)2×25 = {(0.0011)2 - (0.0001)2} + (100000.0)2 = (0.001)2 + (100000.0)2 = (100000.001)2 = (1.00000001)2 になり、仮数部が8ビットなので情報落ちが発生する。(×) |
ウ | {(1.0)2×25 + (1.1)2×2-3} + (1.0)2×2-4 = {(100000.0)2 + (0.0011)2} + (0.0001)2 = (100000.0011)2 + (0.0001)2 この時点で下線部の仮数部が7ビットを超えてしまうので情報落ちが発生する。(×) |
エ | {(1.0)2×25 - (1.0)2×2-4} + (1.1)2×2-3 = {(100000.0)2 + (0.00101)2} + (0.0011)2 = (100000.0001)2 + (0.0011)2 この時点で下線部の仮数部が7ビットを超えてしまうので情報落ちが発生する。(×) |
【キーワード】
・浮動小数点
・情報落ち