我正在學習有關基本類型的範圍,我有double
類型的問題。範圍原始數字組成 - 雙
如果我們知道double
有8個字節(64位) - 爲什麼不能確定最小和最大範圍double
?
long
有8個字節很好,但我們能夠確定的最小值和最大值。
我正在學習有關基本類型的範圍,我有double
類型的問題。範圍原始數字組成 - 雙
如果我們知道double
有8個字節(64位) - 爲什麼不能確定最小和最大範圍double
?
long
有8個字節很好,但我們能夠確定的最小值和最大值。
雙存儲方式不存儲長整數或整數被存儲。
它存儲類似於科學記數法。
也就是說,一定數量的有效數字和一個冪。
編輯,上面的答案表明有一個最小值和最大值。然而,這是由於雙倍功率分量有多高的限制(即它只能佔用很多比特)。
我認爲你對BigInteger等Big *類感到困惑。 – Woot4Moo
即使使用宇宙中的所有原子,也必須有最大數量。 –
請參閱:http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.3。我編輯了我的答案以反映您的意見。 –
我不知道我們不會確定雙倍的最小和最大範圍。快速谷歌搜索顯示:
雙覆蓋範圍從4.94065645841246544e-324d到1.79769313486231570e + 308d(正值或負值)。
如果你在這個問題看,雖然,你可以找到更多的信息:What is the inclusive range of float and double in Java?
Double.POSITIVE_INFINITY?還是Double.MAX_VALUE? –
http://stackoverflow.com/questions/1650505/what-is-the-inclusive-range-of-float-and-double-in-java – Mat
http://docs.oracle.com/javase/specs/jls /se7/html/jls-4.html#jls-4.2.3 – Mat