42

基数 10 の数値から IEEE 754 浮動小数点数表現に変換する方法について、この例があります。

Number: 45.25 (base 10) = 101101.01 (base 2) Sign: 0
Normalized form N = 1.0110101 * 2^5
Exponent esp = 5  E = 5 + 127 = 132 (base 10) = 10000100 (base 2)
IEEE 754: 0 10000100 01101010000000000000000

これは、一節を除いて私には理にかなっています。

45.25 (base 10) = 101101.01 (base 2)

45 はバイナリで 101101 であり、それで問題ありません..しかし、どうやって 0.25 を .01 として取得したのでしょうか?

4

7 に答える 7

11

2.00010 = 2+1 = 10.0002
1.00010 = 2+0 = 01.0002
0.50010 = 2-1 = 00.1002
0.25010 = 2-2 = 00.0102
0.12510 = 2-3 = 00.0012

于 2013-03-07T22:17:56.587 に答える
4

このように考えてみてください

(ドット) 2^-1 2^-2 2^-3 など

それで

. 0/2 + 1/4 + 0/8 + 0/16 など

http://floating-point-gui.de/formats/binary/を参照

于 2013-03-07T22:23:09.500 に答える
1

0.25 は 1/4 と考えることができます。

(基数 2) で 2 で割ると、小数点が 1 ステップ左に移動します。同様に、(基数 10) で 10 で割ると、小数点が 1 ステップ左に移動します。一般に、M in (base M) で割ると、小数点が 1 ステップ左に移動します。

それで

base 10                  base 2
--------------------------------------
1                      =>      1
1/2 = 0.5              =>    0.1
0.5/2 = 1/4 = 0.25     =>   0.01 
0.25/2 = 1/8 = 0.125   =>  0.001
.
.
.

于 2013-03-13T09:13:33.200 に答える