【发布时间】:2016-04-25 02:02:01
【问题描述】:
这行代码:
console.log((90000000000000|0).toString());
输出:
-1039687680 ( bin -111101111110000110000000000000 )
根据32-bit signed integer conversion,我预计:
/--discarded--\/---------significant----------\
10100011101101011000010000001111010000000000000 = 90000000000000
│
11000010000001111010000000000000 OR
00000000000000000000000000000000
================================
11000010000001111010000000000000 = -1107795968
sign/\------significant bits-------/
为什么我得到的是 -1039687680 而不是 -1107795968?
【问题讨论】:
标签: javascript bit-manipulation bitwise-operators