布尔运算 逻辑运算 移位运算
1:四种布尔运算&,|,^,~
&:相当于&&,表示”与”运算。一假则假。
|:相当于||,表示”或”运算。一真则真。
^:表示”抑或”,相同状态则为假。
~:表示”非”,相当于!。
| 运算 | 结果 |
|---|---|
| a | [01101001] |
| b | [01010101] |
| ~a | [10010110] |
| ~b | [10101010] |
| a&b | [01000001] |
| a|b | [01111101] |
| a^b | [00111100] |
布尔运算的简洁之处在于我们用位来表示状态。而且有关这几种运算c和c++都是支持的。
2:布尔运算和逻辑运算之间的关系
| 布尔运算 | 逻辑运算 |
|---|---|
| ~ | ! |
| & | && |
| | | || |
3:移位操作
左移:x << k 表示将x左移k位,对于原来的x,低位补k个0,相应的高位自动溢出。
右移
- 逻辑右移:低位溢出,高位补0
- 算术右移:低位溢出,高位补最高有效位,即x(n-1)。
看个例子:
| 操作 | 值 |
|---|---|
| x | [11100011] |
| x<<4 | [00110000] |
| x>>4(逻辑) | [00001110] |
| x>>4(算术) | [11111110] |
浙公网安备 33010602011771号