計算機算術
IEEE 754の正規化数で、仮数の先頭の1を記録しない(隠れビット)ことの効果として正しいものはどれか。
- A先頭の1を省くと、負の数を表せるようになる
- B同じビット数で精度が1ビット分増える
- C先頭の1を省くと、計算の結果が必ず正確になる
答えと解説を見る
正解:B. 同じビット数で精度が1ビット分増える
2進数で正規化すると、0以外の数は必ず「1.xxx × 2^指数」の形になり、先頭は常に1です。決まっている1をわざわざ記録する必要はないので省き、その分のビットを小数部に使います。そのため単精度では仮数の記録が23ビットでも、精度は24ビットになります。ただし指数部がすべて0の非正規化数では先頭を0とみなします。負の数は符号ビットで表し、丸め誤差がなくなるわけでもありません。
- A. 負の数は符号ビットで表します。
- B. 正しい。決まっている1を省き、精度を1ビット稼ぎます。
- C. 丸め誤差がなくなるわけではありません。