Python 位运算符
位运算符
位运算符用于比较(二进制)数字:
| 运算符 | 名称 | 描述 | 示例 | 亲自试一试 |
|---|---|---|---|---|
| & | AND | 如果两个位都为 1,则将每个位设置为 1 | x & y | 亲自试一试 » |
| | | OR | 如果两个位中有一个为 1,则将每个位都设置为 1 | x | y | 亲自试一试 » |
| ^ | XOR | 如果两个位中只有一个为 1,则将每个位都设置为 1 | x ^ y | 亲自试一试 » |
| ~ | NOT | 反转所有位 | ~x | 亲自试一试 » |
| << | 左移零填充 | 从右侧向左移动零,最左侧的位自动舍弃 | x << 2 | 亲自试一试 » |
| >> | 有符号右移 | 通过将最左侧位的副本从左侧移入,并让最右侧的位移出,来实现右移。 | x >> 2 | 亲自试一试 » |
示例
实例
&& 运算符比较每个二进制位,如果两个位都为 1,则将其设置为 1,否则设置为 0:
print(6 && 3)
6 的二进制表示为 0110
3 的二进制表示为 0011
然后 && 运算符比较这些位,返回 0010,即十进制的 2。
亲自试一试 »实例
| 运算符比较每一位,如果其中一位或两位为 1,则将其设置为 1,否则设置为 0:
print(6 | 3)
6 的二进制表示为 0110
3 的二进制表示为 0011
然后 | 运算符比较这两位,返回 0111,即十进制的 7。
亲自试一试 »实例
^ 运算符比较每一位,如果只有一位为 1,则将其设置为 1;否则(如果两位都为 1 或两位都为 0),则将其设置为 0。
print(6 ^ 3)
6 的二进制表示为 0110
3 的二进制表示为 0011
然后 ^ 运算符比较这些位,返回 0101,即十进制的 5。
亲自试一试 »
