Abd*_*aby 5 ones-complement kotlin
我刚刚开始学习Kotlin,我在基本类型的文档中遇到了一个奇怪的句子:
-0.0被认为小于0.0
我知道它们的值在补码中不会相同,但我不知道如何在代码中使用它们.
不符合IEEE 754标准的擦除浮点比较的主要目的是,当您在集合中使用浮点数并作为排序键时,您不希望根据标准相等的值相互混合.例如,您不希望在地图中混合-0.0和0.0作为键(您可能需要这些键的两个不同值).
同样地,您希望地图NaN与自身匹配,尽管标准声明NaN!= NaN.
并且,当您对一组项目进行排序时,您希望NaN与其他数字一起正确排序,即使标准说它与其他元素无法比较(遵循此处的标准甚至可能会破坏排序算法).
请注意,这些规则仅适用于静态不知道对象属于浮点类型的情况,实际上,浮点类型与通用用例和集合相匹配.相反,数学用例通常直接使用数字类型(不删除它们Any或类型参数),因此应用IEEE 754规则.
| 归档时间: |
|
| 查看次数: |
343 次 |
| 最近记录: |