gpt4 book ai didi

javascript - float 什么时候溢出?

转载 作者:行者123 更新时间:2023-11-30 14:17:00 27 4
gpt4 key购买 nike

为什么是

Number.MAX_VALUE + Number.MAX_VALUE == Number.MAX_VALUE
=> false

但是

Number.MAX_VALUE + Number.MIN_VALUE == Number.MAX_VALUE
=> true

?

我的预期是,我添加到最大值的所有内容都必须溢出。

最佳答案

JavaScript 的 Number.MAX_VALUE 命名错误。它不是最大可表示值。它是最大可表示的有限值。实际最大可表示值是无穷大。

如果名称正确,Number.MAX_VALUE 为无穷大,则 Number.MAX_VALUE + Number.MAX_VALUE == Number.MAX_VALUE 为真,因为无穷大加上无穷大为真。

由于 Number.MAX_VALUE + Number.MAX_VALUE 的数学值超出了可表示的有限值,因此四舍五入为无穷大。

Number.MAX_VALUE + Number.MIN_VALUE == Number.MAX_VALUE 为真,因为算术舍入到最接近的可表示值,并且将小值添加到最大有限值产生的结果非常接近最大有限值,所以它四舍五入到最大有限值。

(注意:关于舍入到最接近的可表示值的规则将无穷大视为在有限值末尾的正常位置,因此任何大于或等于 Number.MAX_VALUE 加上半个“步”,舍入到无穷大。)

关于javascript - float 什么时候溢出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53433230/

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