我正在使用JavaScript开发BitWise AND运算符。

我有两个32位Nunber

4294901760 (11111111 11111111 00000000 00000000) and

4294967040 (11111111 11111111 11111111 00000000)

当我和他们按位4294901760 & 4294967040时,我得到-65536的结果,尽管结果应该是4294901760

有人可以指导我我是否想念东西吗?或正确的方法是什么。
谢谢

最佳答案

console.log((4294901760 & 4294967040) >>> 0);

附加>>> 0,使其将您的操作解释为未签名。

fiddle :
http://jsfiddle.net/JamZw/

更多信息:
Bitwise operations on 32-bit unsigned ints?

10-08 16:57