位操作符:
- 只适用于整型。
- 位操作符按优先级高低排序如下表
操作 | 运算符符号 | 中文名称 | 描述 |
~x 或 not x | ~ 或 not | 按位求反 | 对x的各二进制取反,即把1变成0,把0变成1。等效于 -(x+1) |
x << y | << | 左移 | 将x的各二进位全部向左移动y位,相当于在x的二进制位后面加y个0 。 等效于 x * 2**y |
x >> y | >> | 右移 | 将x的各二进位全部向右移动y位,相当于将x的二进制位前y位切除 。等效于x / 2**y (取整) |
x & y 或 x and y | & 或 and | 按位与 | 只有x和y对应二进制位都为1,该位结果为1否者为0。对于二进制位长度不一样, 在前面添0补齐。 |
x ^ y | ^ | 按位异或 | x和y对应二进制位相异,该位置结果为1 否者为0, 对于二进制位长度不一样 ,在前面添0补齐。 |
x | y 或 x or y | | 或 or | 按位或 | 只要x和y对应二进制位有一个为1,该位结果为1否者为0 ,对于二进制位长度不一样, 在前面添0补齐。 |