JavaScript - 如何对一个数进行平方运算?

4

使用JavaScript函数

function squareIt(number) {
   return number * number;
}

当给出数字4294967296时,该函数返回的是18446744073709552000。
众所周知,真正的答案是18446744073709551616 :-)
我想这可能与我32位机器上的四舍五入有关。但是,在64位机器上运行此脚本会得到正确的答案吗?有人试过吗?
4个回答

3

ChrisV- 请参考这篇文章。此外,人们可以通过在浏览器URL文本框中直接键入以下JavaScript来更轻松地评估您的问题:

javascript:4294967296*4294967296

2

这个怎么样?

function squareIt(number){
return Math.pow(number,2)
}

嗯,你测试过它了吗?你会知道答案的。 - epascarello
是的,它返回了18446744073709552000。 - Kostas Konstantinidis

1
JavaScript在内部使用64位浮点算术进行数值计算-您看到的结果是这种情况的反映,并且不受底层架构的影响。

0

这里有一个基于BigInteger.js的例子。

alert(bigInt(4294967296).square());
<script src="https://cdnjs.cloudflare.com/ajax/libs/big-integer/1.6.40/BigInteger.min.js"></script>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接