我试图将Python库移植到Javascript,但偶然发现了两者之间的数字差异。
使用Python,1057618395136>> 16 == 16137976 使用Javascript,1057618395136>> 16 == 16120
我读过Javascript中的整数精度是53位,Math.pow(2,53)== 9007199254740991),这仍然是我尝试做的bifshift操作的范围..我缺少什么?< / p>
答案 0 :(得分:4)
JavaScript按位运算符将浮点值截断为32位整数。因此,虽然64位浮点值确实可以容纳53位整数,但是你不能利用移位运算符的所有53位。
要在JavaScript中向右移16位,可以除以65536。