PS: 該部分內容從理論上分析浮點數的算術標准應該如何制定,不要與IEEE754標准混淆
為什么要討論浮點數在計算機中如何表示?
定點數表示會導致許多前導0,浪費空間。
定點數表示范圍小,運算困難。
浮點數的表示
浮點數 = 尾數*階碼的基階碼的值
200.1 = 2.001*102
100.1111B = 1.001111B*22
相關參數
m:尾數的值
e:階碼的值
rm:尾數的基
re:階碼的基
p:尾數的長度(不包括符號位)
q:階碼的長度(不包括符號位)
浮點數的表數范圍
浮點數在數軸上對應的范圍,因為浮點數是不連續的,所以我們只關注最大正數,最小正數,最大負數,最小負數
最大正數:0.11...11*2127
最小正數:0.00...01*2-128
浮點數的表數精度
一般認為,規格化浮點數的尾數的最后一位的精確度為一半,因為這一位大多是舍入而來的
浮點數的表數效率
可表示的規格化浮點數/全部浮點數的個數
設計
好的設計應該在表數范圍,表數精度和表數效率三者中都有較好的表現
假設其中兩種參數相等,通過列等式求解,可以得出
rm, re取2是最好選擇
並且,對於規約浮點數,使用隱藏1可以得到100%的表數效率