Java中的无穷大常量到底是什么?
我最近在基元类型包装器类中遇到了常量,如 和 。在 API 中,它将第一个定义为:Double.POSITIVE_INFINITY
Double.NEGATIVE_INFINITY
保持双精度型的正无穷大的常数。它等于 Double.longBitsToDouble(0x7ff0000000000000L) 返回的值。
其他人也有类似的定义。
我遇到麻烦的是理解这些常量到底是什么。它们实际上不能是或表示正/负无穷大,因为系统本质上是有限的。它只是Java创建者认为可以定义无穷大概念的一些任意设置位吗?还是这些实际上具有某种特殊价值?如果它只是一个任意的位字符串,解释为 a ,那么当被解释为 a 时,是否存在一些正常的数字,而不是实际预期的任何值?double
double
POSITIVE_INFINITY
如果考虑到API的部分,这个问题的答案是显而易见的,请原谅我。说实话,这种描述对我来说非常晦涩难懂,我不会假装理解十六进制值的实际含义或表示。Double.longBitsToDouble(0x7ff0000000000000L)