gpt4 book ai didi

javascript 大整数舍入因为精度? (为什么?)

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

如果你这样做

for(var i = 0; i < 30; i++){console.log(i + " == " + 78764357878563800 + " ? ");console.log((78764357878563790+i) == 78764357878563800);}

你开始比较从 78764357878563790 到 78764357878563790+29 的值,所以......如果你运行它,你会得到 true 从 i = 8 到 24。

所以我不知道我是否不明白,但不应该存在 maxint(我不知道)和 maxint-1???然后 max 与 maxint-1 不同吗?

我想这是像 float 一样的精度......但这不应该只命中 float ,例如,数字 + 1 总是给出后继? (因此在上面的示例中,如果 i = 78764357878563790 并添加 i++,则进入无限循环。

我事先知道这种类型的数字间距存在于 float 中,但从未遇到过整数也不能表示 i+1 和 i-1 的情况(我一直认为 unsigned maxint + 1 会进位并给出0).

任何suguestions在:

  • js中最大数是多少,前数是多少。
  • 如何处理或知道这种整数行为何时开始发生。
  • 如何处理这么大的数字以及比这更大的数字会很好。

最佳答案

Javascript 中没有整数。

数字是 double float ,精度为 15-16 位。这与您的结果一致。

关于javascript 大整数舍入因为精度? (为什么?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5812096/

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