我查看了该类的实现。的值是 的指定值。该字段应设置为,如果 JVM 确实以这种方式实现它,则应将其计算为。java.lang.Double
NaN
0x7ff8000000000000L
public static final double NaN
0.0d / 0.0
0x7ff8000000000000L
为什么选择此值 ()?该值有什么特别之处吗(例如,它的位掩码)?0x7ff8000000000000L
为什么字段隐式设置为该值并依赖于操作的基础实现,而静态方法将参数的值显式设置为?隐式设置它,因为高度依赖于JVM的实现,并且在理论上可以改变(很可能永远不会改变)的结果,这不是更安全吗?0.0d / 0.0
public static long doubleToLongBits(double value)
0x7ff8000000000000L
NaN
0.0d / 0.0
和 也是如此。字段隐式设置为其值,但某些方法使用显式指定的值。这背后有什么原因吗?POSITIVE_INFINITY
NEGATIVE_INFINITY
感谢您每天帮助我学习任何新知识:-)。
四季花海
相关分类