【发布时间】:2014-08-08 21:36:14
【问题描述】:
这是错误的:
(0xffffffff << 31 << 1) === (0xffffffff << 32)
看起来应该是真的。在任何地方添加>>> 0 不会改变这一点。
为什么会这样?如何正确编写处理 << 32 的代码?
【问题讨论】:
-
你想做什么?为什么?每个操作数的值是多少?
-
EcmaScript 5。注意第 7 步。
-
我在一个用于管理网络掩码的 node.js 模块中遇到了这个问题。它做了一个
标签: javascript bit-manipulation unsigned bit-shift integer-overflow