gpt4 book ai didi

javascript - 一般 float 学查询

转载 作者:搜寻专家 更新时间:2023-11-01 04:50:26 37 4
gpt4 key购买 nike

好吧,我知道有些数字不能用二进制正确表示,就像 1/3 不能完全用十进制表示一样。

那么当我 console.log(0.3) 它返回 0.3 时怎么会但是当我 console.log(0.1 + 0.2) 它返回 0.30000000000000004

为什么在简单输出 0.3 时考虑错误(如果它甚至是)但在发生加法时不考虑错误?

最佳答案

假设我们近似于十进制的 1/3 和 2/3。

1/3 = 0.333
2/3 = 0.667

然后我们加上 1/3+1/3:

1/3+1/3 = 0.333 + 0.333 = 0.666

我们没有得到 2/3 的近似值。将 1/3 舍入到我们可以用小数表示的值并没有产生等于我们舍入 2/3 时得到的数字的一半。

同样的事情发生在二进制文件中。我们将 0.1 和 0.2 舍入为我们可以用二进制表示的数字,但近似值的总和与我们近似为 0.3 时得到的值略有不同。我们得到了更高一点的结果,结果显示为 0.30000000000000004

关于javascript - 一般 float 学查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21490511/

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