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