使用 javascript 函数
function squareIt(number) {
return number * number;
}
当给定数字 4294967296 时,函数返回 18446744073709552000 返回
每个人都知道真正的答案是 18446744073709551616 :-)
我想这与我的 32 位机器上的舍入有关。但是,这个脚本会在 64 位机器上给出正确的答案吗?有没有人试过这个?
使用 javascript 函数
function squareIt(number) {
return number * number;
}
当给定数字 4294967296 时,函数返回 18446744073709552000 返回
每个人都知道真正的答案是 18446744073709551616 :-)
我想这与我的 32 位机器上的舍入有关。但是,这个脚本会在 64 位机器上给出正确的答案吗?有没有人试过这个?
ChrisV-看到这篇文章。通过在浏览器 URL 文本框中直接键入以下 JavaScript,人们还可以更轻松地评估您的问题:
javascript:4294967296*4294967296
那这个呢
function squareIt(number){
return Math.pow(number,2)
}
Javascript 在内部使用 64 位浮点算法进行数值计算 - 您看到的结果反映了这一点,并且无论底层架构如何都会发生。
这是另一个基于BigInteger.js的示例。
alert(bigInt(4294967296).square());
<script src="https://cdnjs.cloudflare.com/ajax/libs/big-integer/1.6.40/BigInteger.min.js"></script>