以下は、私が従おうとしているチュートリアルです。
数値をバイナリ表現に変換しようとすると、間違ってしまいます。誰かが私が間違っていることを教えてもらえますか?
-0.21875
バイナリ表現:
.00111 = 1.11 * 2^-3
以来..
0.5^3 + 0.5^4 + 0.5^5 = 0.21875
の指数で..
-3 + 127 = 124
したがって、バイナリ表現は次のようになります。
s eeeeeeee mmmmmmmmmmmmmm
1 01111100 11100000000000
しかし、なぜ 639.6875 を同じように変換すると正しい答えが得られるのでしょうか?
整数値の表現:
1001111111
10 進数値の表現:
1011
結合と正規化:
1001111111.1011 = 1.0011111111011 * 2^9
正規化するとき、基数を最初の 1 の右側に直接配置しますか? 指数に 127 をバイアスすると、127+9 = 136 になります。
10001000
バイナリ表現:
s eeeeeeee mmmmmmmmmmmmmm
0 10001000 10011111111011