在数学2中,无穷大不相等,也不大于或小于。那是什么给出了什么?
在irb中,Float :: INFINITY == Float :: INFINITY(在ruby 1.9.3中测试)
答案 0 :(得分:8)
从更多技术角度来说,这一切都归结为浮点算术的IEEE 754标准。
IEEE 754标准隐含地将Infinity == Infinity定义为 是真的。标准的相关部分是第5.7节:“四 相互排斥的关系是可能的[两个IEEE 754之间 值]:小于,等于,大于和无序。最后一个案例 当至少一个操作数是NaN时出现。“
在任何一对浮点值之间恰好是这四个中的一个 关系是真的。因此,由于Infinity不是NaN,Infinity就是 对自己而言并非无序。拥有(Infinity< Infinity)和(Infinity> Infinity)是真的不一致,所以 (无限= =无限)。
答案 1 :(得分:6)
虽然在大多数集理论中存在多个不同的无穷大,但实数代表的无穷大通常代表extended real number line的无穷大,其中+∞和-∞是专门选择大于和小于所有值的值实数。在此设置中,∞=∞和-∞=-∞。
不相等的集合理论无穷大是cardinal或ordinal numbers,通常不会用浮点值表示。它们分别测量集合中的大小和位置,因此作为另一种类型的概括(例如整数类型)会更好。如果你想存储那些类型的值,你可能会有一个代表无限序数或无限基数的自定义类型。
此外,集合理论无穷大肯定有可能彼此相等。 ℵ 0 =ℵ 0 ,例如(虽然sub 0 ≠ℵ 1 )。
希望这有帮助!
答案 2 :(得分:2)
大多数现代计算机使用IEEE浮点数来表示实数。这些提供了实数的近似值,而不是真实数字。特别是有两个值代表所有无限值,+无穷大和无穷大。就像你不能完全准确地表示二进制的.1或1/3,无穷大是近似值。
因此,所有+无穷大彼此相等并且所有 - 无穷大彼此相等。