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