4

使用 javascript 函数

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

当给定数字 4294967296 时,函数返回 18446744073709552000 返回

每个人都知道真正的答案是 18446744073709551616 :-)

我想这与我的 32 位机器上的舍入有关。但是,这个脚本会在 64 位机器上给出正确的答案吗?有没有人试过这个?

4

4 回答 4

3

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

javascript:4294967296*4294967296
于 2009-05-19T11:06:50.400 回答
2

那这个呢

function squareIt(number){
return Math.pow(number,2)
}
于 2009-05-19T11:02:10.567 回答
1

Javascript 在内部使用 64 位浮点算法进行数值计算 - 您看到的结果反映了这一点,并且无论底层架构如何都会发生。

于 2009-05-19T11:00:05.220 回答
0

这是另一个基于BigInteger.js的示例。

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

于 2018-12-07T14:26:55.960 回答