位运算符

按位运算符是把数字看作二进制来进行计算的。

运算符    描述
&    按位与运算符:参与运算的两个值,如果两个相应位都为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)

0

评论0

请先
显示验证码
没有账号?注册  忘记密码?