2.7.5 位运算符

位运算指的是进行二进制位的运算,常用的位运算符如表2-11所示。

表位运算符

位运算符 说明
~ 取反
& 按位与
| 按位或
^ 按位异或
« 左移运算符,左移1位相当于乘2
» 右移运算符,右移1位相当于除2取商

【示例2-23】 左移运算和右移运算

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. 不要把“^”当做数学运算“乘方”,是“位的异或”操作。