2011-05-01 75 views
9

在Java中可以存儲尾數部分的最大數量是多少?Java浮點數的尾數部分的最大數是多少?

在下面 http://steve.hollasch.net/cgindex/coding/ieeefloat.html

      Sign  Exponent Fraction Bias 
Single Precision  1 [31]  8 [30-23] 23 [22-00] 127 

此鏈接這是否意味着我們可以只保存0到2^8種組合?

+6

請不要泄露(編輯:我已更新標題停止呼喊。) – 2011-05-01 16:40:20

+0

我不建議你使用浮動。雙倍速度幾乎一樣快,並且沒有接近相同的限制/圓形誤差的地方。 – 2011-05-01 16:55:02

回答

2

尾數是float中的23位,但存儲的值是標準化的,這意味着存在隱含的前導1後跟小數點。這需要24個有效位。

+0

...除非規格化數字。 – finnw 2011-05-01 17:11:34

+0

你能解釋什麼是標準化?如果你說24位,那麼我們可以在尾數部分代表2^24個數字? – user733434 2011-05-06 16:38:33

+0

@ user733434:「...這意味着有一個隱含的前導1後跟一個小數點。」正如@finnw所說的那樣,如果指數全部爲0但分數不是0,那麼就有數字未被標準化。 http://steve.hollasch.net/cgindex/coding/ieeefloat.html – 2011-05-06 16:56:21