1.位运算通常是无符号数的运算
2.基本位操作符
符号 | 作用 |
---|---|
& | 位与 |
| | 位或 |
~ | 位反 |
^ | 位异或 |
<< | 左移 |
>> | 右移 |
3.基本位操作符使用归纳
(1)判断int
型变量a
是奇数还是偶数
a & 1 == -0 //偶数
a & 1 == -1 //奇数
(2)取int
型变量a
的第k
位
a >> k & 1;
(3)将int
型变量a
的第k
位清0
a = a & ~(1 << k);
(4)将int
型变量a
的第k
位置1
a = a | (1 << k);
(5)将int
型变量a
的第k
位取反
a = a ^ (1 << k);
(6)int
型变量a
循环左移k
次
a = a << k | a >> 32 - k;
(7)int
型变量a
循环右移k
次
a = a >> k | a << 32 - k;
4.处理复合表达式的两个指导原则
- 求值顺序
- 优先级
- 结合性
(1)如果有怀疑,则在表达式上按程序逻辑要求使用( )
强制操作数的组合
(2)如果要修改操作数的值,则不要在同一个语句的其它地方使用该操作数,
如果必须要使用改变的值,则把该表达式分割成两个独立语句,在一个语句中改变操作数的值,另一个语句中使用它