我正在学习原始类型的范围,我对类型double
有疑问。
如果我们知道double
有8个字节(64位) - 为什么无法确定double
的最小和最大范围?
long
也有8个字节,但我们可以确定最小值和最大值。
答案 0 :(得分:1)
非常确定这是最大和最小范围:
MAX_VALUE 一个常数,保持double类型的最大正有限值,(2-2 -52 )·2 1023 。
MIN_VALUE 保持double类型的最小正非零值的常量,2 -1074 。
根据docs,这两个函数都返回一个原始的双精度。
答案 1 :(得分:1)
我不知道我们不会确定双倍的最小和最大范围。快速谷歌搜索显示:
Double涵盖范围从4.94065645841246544e-324d到1.79769313486231570e + 308d(正面或负面)。
如果你看一下这个问题,你可以找到更多信息:What is the inclusive range of float and double in Java?
答案 2 :(得分:0)
双打不会以相同的方式存储多头或整数。
它的存储类似于科学记数法。
即一定数量的有效数字和一个权力。
编辑,上面的答案表明有最小值和最大值。然而,这是由于对双倍功率分量有多高的限制(即它只能占用这么多位)。