运算符 描述
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^ 按位异或运算符:当两对应的二进位相异时,结果为1
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
>> 右移动运算符:把">>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数
a = 1 二进制:0001
b = 2 二进制:0010
eg:在python解释器里运行(在终端输入python)
>>> 1 & 2 # 0001 & 0010 == 0000
0
>>> 1 | 2 # 0001 | 0010 == 0011
3
>>> 1 | 2 # 0001 | 0010 == 0011
3
>>> 1 ^ 2 # 0001 ^ 0010 = 0011
3
>>> ~1 # ~0001 = 1010
-2
>>> 1 << 1 # 0001 << 1 = 0010
2
>>> 1 >> 1 # 0001 >> 1 = 0000
0
在异或中,有如下规律
交换律:A ^ B = B ^ A;
结合律:A ^ (B ^ C) = (A ^ B) ^ C;
恒等律:X ^ 0 = X;
归零律:X ^ X = 0;
逻辑运算符
Python语言支持逻辑运算符
运算符 逻辑表达式 描述
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。
or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
eg:在python解释器里运行(在终端输入python)