为什么Double.MIN_value不是负的

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (65)

有人能解释一下为什么吗?Double.MIN_VALUE难道不是双倍的最小值吗?这是一个积极的价值,当然,双倍也可能是负面的。

我理解为什么它是一个有用的数字,但它似乎是一个非常不直观的名称,特别是当与Integer.MIN_VALUE.叫它Double.SMALLEST_POSITIVEMIN_INCREMENT或者类似的语言有更清晰的语义。

另外,双倍可以取的最小值是多少?是吗?-Double.MAX_VALUE是吗?医生似乎没说。

提问于
用户回答回答于

IEEE 754格式为符号保留了一位,其余的位表示该大小。这意味着它在Origo周围是“对称的”(与Integer值相反,后者有一个更多的负值)。因此,最小值与最大值完全相同,符号位被更改,因此-Double.MAX_VALUE是可以用double。

我想Double.MAX_VALUE在这种情况下,简单地编写-Double.MAX_VALUE。这也解释了为什么Double.MIN_VALUE是最小的正值(因为这表示最小的可能大小)。

Double.MIN_VALUE是最小的绝对可以表示的值。也许他们认为用一个常数来表示最不可能的值是多余的,因为它只是一个-远离MAX_VALUE

用户回答回答于

这些常量与符号无关。如果你把双数看成是三个部分的组合:符号、指数和尾数,这就更有意义了。Double.MIN_值实际上是尾数在指数处于最小值时,尾数可以假定的最小值。同样,麦克斯_值可以理解为尾数在指数处于最大值时可以假定的最大值。

对于这两个人来说,一个描述性更强的名字可能是最大绝对(对verbositiy添加非零)和最小绝对值(对verbositiy添加非无穷大)。

扫码关注云+社区