1. 程式人生 > >計算機實數表示法---浮點數(二)

計算機實數表示法---浮點數(二)

開發十年,就只剩下這套架構體系了! >>>   

在“計算機實數表示法---浮點數(一)”中主要說明了單精度浮點數的表示方法以及幾個特殊值的儲存形式,總之指數位的值為1<=v<=254,對應的真實值範圍為-126<=v<=127,最小的正負單精度浮點數分別為0_00000001_00000000000000000000000()、1_00000001_00000000000000000000000(-),最大的正負單精度浮點數分別為0_11111110_11111111111111111111111(

)、1_11111110_11111111111111111111111(-)。

在“計算機實數表示法---浮點數(一)”舉的例子11.75是可以被單精度浮點數精確表示的,接下來舉一個不能被精確表示的例子:0.3轉換成二進位制形式為0.01001100110011001100110011001100110011...,標準形式為單精度浮點形式為0_01111101_00110011001100110011010,很明顯那省略的部分被砍掉了,於是不能精確表示原始值從而產生了精度丟失。   

除了精度丟失還可能會出現兩個不同的數相等的情況如16677216.5與16677216.3,所以不要試圖比較兩個浮點數的大小,因為它們可能相等也可能不等,本質原因都是因為精度丟失