gpt4 book ai didi

kotlin - 为什么 Kotlin 认为负零小于正零

转载 作者:IT老高 更新时间:2023-10-28 13:47:27 25 4
gpt4 key购买 nike

我刚开始学习 Kotlin,在 basic types 的文档中遇到了一个奇怪的句子:

-0.0 is considered less than 0.0

我知道它们的值在反码中不会相同,但我不知道如何在代码中使用它。

最佳答案

不遵循 IEEE 754 标准的已删除浮点比较的主要目的是,当您在集合中使用 float 并作为排序键时,您不希望根据标准 相互混合。例如,您不想将 -0.00.0 混合作为映射中的键(您可能希望这些键有两个不同的值)。

同样,您希望 map 将 NaN 与其自身匹配,尽管标准规定 NaN != NaN

而且,当您对一组项目进行排序时,您希望 NaN 与其他数字正确排序,即使标准说它与其他元素无法比较(此处遵循标准甚至可能会破坏排序算法)。

请注意,这些规则仅适用于静态不知道对象属于浮点类型的情况,这实际上与通用用例和集合相匹配。相反,数学用例通常直接对数字类型进行操作(而不是将它们删除为 Any 或类型参数),因此应用了 IEEE 754 规则。

关于kotlin - 为什么 Kotlin 认为负零小于正零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48609509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com