Javascript到python的数学翻译



我有一个java脚本函数,我正试图在python 2中复制它,而java脚本正在进行某种精度错误包装(或其他什么),我很难理解。这些数字很大,但这里有一个例子:

在javascript:中

a = 3141592751
b = 1234567890
result = (a*31) ^ b
window.alert(result)

此处,结果=-447877661。我认为这是因为对存储大数字的一些限制,以及对大负数的相关环绕。

使用python 2:

a = 3141592751
b = 1234567890
result = (a*31) ^ b
print result

这里,结果=98336370147,这在数学上是正确的。

如何使用python复制javascript代码的功能?环绕点是什么?谢谢

javascript中变量的极限是-

+/- 9007199254740991
i.e., 2^53 -1

还有一件事需要考虑,如果你要处理逐位运算符和移位运算符来完成你的工作,它们对32位整数进行运算,所以在这种情况下,最大安全整数是-

2^31-1, or 2147483647

希望它能有所帮助!

更多参考-MDN和StackOverflow

因此,您可能必须使用这个值来包装您的python代码。

注:上面的^符号代表的幂。

相关内容

  • 没有找到相关文章

最新更新