我們在第二章裏提到了一個觀點是:
所有的浮點數都可以表示爲1.xxxx *2^N,x只能表示0和1
這個觀點是正確的嗎?
對於大於一 的浮點來說,完全沒問題,比如4.5 = 100.1 = 1.001 * 2^2
但如果是小於1呢?
例如:0.5
額,額,額~~
然後就鬱悶了,發現怎麼着也轉變不成1.xxxx *2^N。
不要急,我們先打印一下0.5和4.5。
0 12345678 12345678123456781234567
0 01111110 00000000000000000000000 ---0.50 10000001 00100000000000000000000 --4.5
嗯,4.5可以理解,但是0.5爲什麼後面全是0呢?真是奇怪了!!!
其實還有一個現象可以解釋這個事情,那就是指數位的首位,4.5的是1,0.5的是0
指數位的0和1其實也代表着指數的正負,如果你能想到負指數的話大概就能夠豁然開朗了。
如下:
0.5 = 1.0 * 2^-1
終章~~