差异性的真实计算号和一个我用javascript函数计算(Difference Between Re

2019-10-20 08:54发布

这是我写的像在JavaScript中Math.pow功能函数。

码:

function tavan(){
var adad=document.getElementById("pain").value;
var tavan=document.getElementById("bala").value;    
var kol=adad;
while((tavan-1)>0)
{
kol=kol*adad;
--tavan;    

}
document.getElementById("main").innerHTML=kol;              
}

测试此功能后,一切似乎是正确的。 然后我测试这个词组4 ^ 28,其结果是720575940379279 ** 40 **。 在Windows计算器它比真正的大720575940379279 ** ** 36我的功能数量为4。

Answer 1:

在JavaScript中使用的浮点格式具有尾数的56位。 以存储4^28准确地需要57个比特。 因此,至少显著位被丢弃,指数增加,你会得到一个近似的结果。

Windows计算器可能使用任意精度的整数运算,这使得它能够精确地显示大的数字。 看到:

什么是在Javascript处理大的数字(BIGNUM)标准的解决方案?

对于类似的JavaScript库。



文章来源: Difference Between Real calculation number and the one i calculate with javascript function