秒懂左移右移运算符

2021-07-19  本文已影响0人  前端好有趣

左移运算符

<<

1 << 2  // 1 * 2 的 2次方并取整:4
1 << 4  // 1 * 2 的 4 次方并取整:16 
-2 << 4  // -2 * 2 的 4 次方并取整:-32

右移运算符

带符号右移 >>

4 >> 1  // 4 除以 2 的 1 次方并取整:2
-4 >> 2  // -4 除以 2 的 2 次方并取整:-1

无符号右移 >>>

对于正数来说和带符号右移相同,对于负数来说不同。

4 >>> 1  // 4 除以 2 的 1 次方并取整:2
-4 >>> 1  // 2147483646,之所以是这个结果,请看下面原理解释

原理:

左移:
按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。

带符号右移:
按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。

无符号右移:
按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。 其他结构和 >> 相似。

上一篇 下一篇

猜你喜欢

热点阅读