図に示す16ビットの浮動小数点形式において、10進数 0.25 を正規化した表現はどれか。
ここで、正規化は仮数部の最上位けたが1になるように指数部と仮数部を調節する操作とする。
s :仮数部の符号(0:正、1:負)
e :指数部(2を基数とし、負数は2の補数で表現)
f :仮数部(符号なし2進数)
ア | |
イ | |
ウ | |
エ |
答え ウ
【解説】
10進数0.25を2進数で表現すると[0.01]2になる。
これを浮動小数点で表現すると符号s は0.25は正の数なので0、指数部e は0000、仮数部f は01000000000になり、
0 0000 01000000000
となる。
これを正規化すると、仮数部は最上位ビットが0にならないようにするので、左に1ビットシフト(2倍)する必要があり、指数部はこれにあわせて2-1を意味する-1(1111)にする必要がある。(今回の正規化では[0.01×20]2を[0.1×2-1]2にする。)
したがって、正規化した結果は
0 1111 10000000000
(ウ)になる。
【キーワード】
・浮動小数点