gpt4 book ai didi

java - 为什么 Double.MIN_VALUE 不是负数

转载 作者:太空宇宙 更新时间:2023-11-04 11:11:46 25 4
gpt4 key购买 nike

任何人都可以解释一下为什么 Double.MIN_VALUE 实际上并不是 Doubles 可以采用的最小值吗?它是一个正值,Double 当然可以是负值。

我明白为什么它是一个有用的数字,但它似乎是一个非常不直观的名称,特别是与 Integer.MIN_VALUE 相比。将其称为 Double.SMALLEST_POSITIVEMIN_INCRMENT 或类似名称将具有更清晰的语义。

另外, double 可以取的最小值是多少?是-Double.MAX_VALUE吗?文档似乎没有说。

最佳答案

IEEE 754 格式保留一位用于符号,其余位表示幅度。这意味着它围绕 origo “对称”(与整数值相反,整数值多一个负值)。因此,最小值与最大值相同,但符号位翻转,因此-Double.MAX_VALUE 是可以用 double 表示的最小实际数字。

我认为 Double.MAX_VALUE 应该被视为最大值,在这种情况下,简单地编写 -Double.MAX_VALUE 实际上是有意义的。它还解释了为什么 Double.MIN_VALUE 是最小的正值(因为它代表最小可能的大小)。

但是,我同意这个命名有点误导。由于习惯了 Integer.MIN_VALUE 的含义,当我读到 Double.MIN_VALUE 是可以表示的最小绝对值时,我也感到有点惊讶。也许他们认为用一个表示最小可能值的常量是多余的,因为它与 MAX_VALUE 之间只有 - 距离:-)

(注意,还有 Double.NEGATIVE_INFINITY 但我忽略了这一点,因为它被视为“特殊情况”,实际上并不代表任何实际数字。)

Here是关于该主题的好文章。

关于java - 为什么 Double.MIN_VALUE 不是负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45910909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com