我正在了解原始类型的范围,并且对 type 有疑问double
。
如果我们知道它double
有 8 个字节(64 位) - 为什么无法确定 的最小和最大范围double
?
long
也有 8 个字节,但我们可以确定最小值和最大值。
我正在了解原始类型的范围,并且对 type 有疑问double
。
如果我们知道它double
有 8 个字节(64 位) - 为什么无法确定 的最小和最大范围double
?
long
也有 8 个字节,但我们可以确定最小值和最大值。
很确定这是最大和最小范围:
MAX_VALUE 保持双精度类型的最大正有限值 (2-2 -52 )·2 1023的常数。
MIN_VALUE 保持双精度类型的最小正非零值 2 -1074的常量。
根据文档,这两个函数都返回一个原始双精度。
我不知道我们不会确定 double 的最小和最大范围。快速谷歌搜索显示:
双精度范围从 4.94065645841246544e-324d 到 1.79769313486231570e+308d(正或负)。
如果您查看这个问题,您可以找到更多信息:Java 中 float 和 double 的包含范围是多少?
双精度数的存储方式与存储长整数或整数的方式不同。
它的存储方式类似于科学记数法。
即一定数量的有效数字和一个幂。
编辑,上面的答案表明有一个最小值和最大值。然而,这是由于对双精度的功率分量的限制(即它只能占用这么多位)。