注:沒有后綴F的浮點數(如3.14)總是默認為double類型
1、單精度和雙精度的字節數不同。前者占4個字節;后者占8個字節
2、單精度和雙精度有效數字位數不同。前者為8位;后者為16位。
3、單精度和雙精度表示的數的范圍不同。前者的數值范圍在-3.40E+38 到 +3.40E+38之間;后者的范圍為-1.79E+308到+1.79E+308之間。
4、單精度和雙精度處理的速度不同。前者的速度更加的快。
雙精度浮點數
單精度浮點數
它們都分成3部分,符號位,指數和尾數。不同精度只不過是指數位和尾數位的長度不一樣。
解析一個浮點數就5條規則
如果指數位全零,尾數位是全零,那就表示0
如果指數位全零,尾數位是非零,就表示一個很小的數(subnormal),計算方式 (−1)^signbit × 2^−126 × 0.fractionbits
如果指數位全是1,尾數位是全零,表示正負無窮
如果指數位全是1,尾數位是非零,表示不是一個數NAN
剩下的計算方式為 (−1)^signbit × 2^(exponentbits−127) × 1.fractionbits
常用的語言幾乎都不提供半精度的浮點數,這時候需要我們自己轉化。