秒懂左移右移运算符

左移运算符

<<

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。

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容