Bit Operator : 位操作是程序设计中对位模式按位或者二进制数的一元和二元操作.。
No | 运算符 | 描述 |
1 | & | 按位与 |
2 | | | 按位或 |
3 | ^ | 位异或 |
4 | ~ | 取反 |
5 | << | 左移位 |
6 | >> | 右移位 |
7 | >>> | 无符号右移位 |
遵循规则:
单目位运算:
- &:参与运算的两个数,若相应位数的值都为1,则该位结果是1,否则是0
- |:参与运算的两个数,相应位中只要有1个1,结果就是1
- ^:参与运算的两个数,若相应位相同则结果为0,否则为1
- ~:标识把每个二进制的“1”换成“0”,把“0”换成“1”
二进制数a | 二进制数b | 与(&) | 或(|) | 亦或(^) |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
位移规则
- <<:将操作数的二进制码整体左移指定位数,左移之后的空位用”0”补充
- >>:将操作数的二进制码整体右移指定位数,右移之后的空位用”符号位”补充。 也就是:若是正数则使用”0“补充,若是负数则使用”1“补充
- >>>:将操作数的二进制码整体右移指定位数,右移之后的空位用”0“补充