负数 >>>运算符的计算过程

“>>>” 表示无符号右移,正数情况下, a >>> b 等价于 a / Math.pow(2,b)

以 -16 >>> 2 为例子 负16右移2位

  1. 将-16转为2进制 (用补码表示负数)
    • 16 = 00000000 00000000 00000000 00010000
    • 取反并补码 = 11111111 11111111 11111111 11101111 + 1 = 11111111 11111111 11111111 11110000
    • 右移2位 = 00111111 11111111 11111111 11111100 = 10进制 1073741820