以下阐述来源于题解:
- 对于单字节变量x,通过x=x &0x0f运算可使x中的低4位不变,高4位清零。
- 对于双字节变量x,通过x=x |0x00ff运算可使x中的高8位,低8位置1.
- 对于单字节变量x,通过x=(~x)0x0f运算可使x高4位取反,低4位不变。
位运算符号的边缘:
& 按位与 双目位运算 自左向右(结合方向)
^ 按位异或 双目位运算 自左向右(结合方向)
| 按位或 双目位运算 自左向右(结合方向)
&& 逻辑与 双目逻辑运算 自左向右(结合方向)
|| 逻辑或 双目逻辑运算 自左向右(结合方向)
?: 条件运算 三目运算 自右向左(结合方向)