任何人都可以阐明为什么Double.MIN_VALUE实际上不是双打可以采用的最小值吗?这是一个正值,Double 当然可以是负值。
Double.MIN_VALUE
我理解为什么它是一个有用的数字,但它似乎是一个非常不直观的名称,尤其是与Integer.MIN_VALUE. 调用它Double.SMALLEST_POSITIVE或MIN_INCREMENT类似的会有更清晰的语义。
Integer.MIN_VALUE
Double.SMALLEST_POSITIVE
MIN_INCREMENT
另外,双打可以取的最小值是多少?是-Double.MAX_VALUE吗?文档似乎没有说。
-Double.MAX_VALUE
IEEE 754 格式为符号保留一位,其余位表示幅度。这意味着它在 origo 周围是“对称的”(与 Integer 值相反,它有一个负值)。因此,最小值与最大值相同,只是符号位发生了变化,所以 是 的,-Double.MAX_VALUE是您可以用 a 表示的最小可能实际数字double。
double
我想Double.MAX_VALUE应该将其视为 最大幅度 ,在这种情况下,简单地编写实际上是有意义的-Double.MAX_VALUE。它还解释了为什么Double.MIN_VALUE是最小的正值(因为它代表最小可能的幅度)。
Double.MAX_VALUE
但可以肯定的是,我同意这个命名有点误导。习惯了这个意思,当我读到这是可以表示的最小 绝对值Integer.MIN_VALUE时,我也有点惊讶。也许他们认为有一个代表最小可能值的常数是多余的,因为它只是远离:-)Double.MIN_VALUE __-``MAX_VALUE
-``MAX_VALUE
(注意,也有,Double.NEGATIVE_INFINITY但我忽略了这一点,因为它被视为“特殊情况”,实际上并不代表任何实际数字。)
Double.NEGATIVE_INFINITY
这里有一篇关于这个主题的好文章。