2.7.5 位运算符
位运算指的是进行二进制位的运算,常用的位运算符如表2-11所示。
表2-11 位运算符
位运算符 | 说明 |
---|---|
~ | 取反 |
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
<< | 左移运算符,左移1位相当于乘2 |
>> | 右移运算符,右移1位相当于除2取商 |
【示例2-23】左移运算和右移运算
java
int a = 3*2*2;
int b = 3<<2; // 相当于:3*2*2;
int c = 12/2/2;
int d = 12>>2; // 相当于12/2/2;
雷区
1. &和|既是逻辑运算符,也是位运算符。如果两侧操作数都是boolean类型,就作为逻辑运算符。如果两侧的操作数是整数类型,就是位运算符。
2. 不要把“^”当做数学运算“乘方”,是“位的异或”操作。