在Java中,无穷大等于无穷大

在Java中,无穷大等于无穷大,java,Java,我想测试infinity在Java中是否等于infinity: Double.POSITIVE_INFINITY == Double.POSITIVE_INFINITY 当结果证明是真的时,我对这个结果感到惊讶。我的问题是两个无穷大的值怎么可能相等呢?因为Double.POSITIVE_INFINITY表示一个特定的数字,所以使用=将其与自身进行比较应该返回true 该行为在以下文件中明确规定: 浮点相等性测试根据IEEE 754标准的规则执行: 否则,相等运算符会认为两个不同的浮点值不相

我想测试infinity在Java中是否等于infinity:

Double.POSITIVE_INFINITY == Double.POSITIVE_INFINITY

当结果证明是真的时,我对这个结果感到惊讶。我的问题是两个无穷大的值怎么可能相等呢?

因为
Double.POSITIVE_INFINITY
表示一个特定的数字,所以使用
=
将其与自身进行比较应该返回true

该行为在以下文件中明确规定:

浮点相等性测试根据IEEE 754标准的规则执行:

  • 否则,相等运算符会认为两个不同的浮点值不相等

    特别地,存在一个表示正无穷大的值和一个表示负无穷大的值;每个值仅与自身相等,而每个值与所有其他值不相等


因为它们代表相同的数字…?一个不可量化的量可以等于它本身,也可以等于一个不可量化的量。无穷大表现为一个正则数。与NaN相反,NaN根据定义不是一个数字。