2015-07-10 37 views

回答

2

因为JavaScript使用32位整数最多,但请记住每个数为k在这种语言中float的IND

如果你想将它们截断为一个无符号32位值:

(3391700000|0) >>> 0 
1

在JavaScript中,位运算符的操作数转换为32位签署整数2的补格式。这就是为什么你有一些数据丢失,截断值有时是负数,因为有二进制补码表示。

你可以参考Why bitwise shift with 0 in JavaScript yields weird results in some cases前一段时间我问过的线程,有些答案指出了你的操作数非常全面超过32位整数的位运算符可能存在的问题。

相关问题