移位操作符
移位运算符就是在二进制的基础上对数学进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(右移)、>>>(无符号右移)。
Java 中的移位运算符也有三种:
<<
- 左移运算符>>
- 右移运算符>>>
- 无符号右移运算符
代码展示
1 | // 左移运算符 |
以上代码中,十进制转换为二进制中,为什么int a = -10
的二进制数的总长度为32呢。这取决于数据类型,在 java 中,基本数据类型int
是4个字节,即32位。如果将数据类型int
改变为long
,结果则完全不同。
1 | long a = -10; |
优势
- 移位运算是直接基于二进制对数值进行操作,主要目的是节约内存,运算时间比算术运算符更加快。
参考资料: