python位运算
计算机底层本质上都是二进制,我们平时在计算机中做的很多操作底层都会转换为二进制的操作,位运算就是对二进制的操作
-
&
,与(都为1才为1)a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = a & b # 12 = 0000 1100
-
|
,或(只要有一个为1就为1)a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = a | b # 61 = 0011 1101
-
^
,异或(值不同为1)a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = a ^ b # 49 = 0011 0001
-
~
,取反a = 60 # 60 = 0011 1100 c = ~a; # -61 = 1100 0011
-
<<
,左移动a = 60 # 60 = 0011 1100 c = a << 2; # 240 = 1111 0000
-
>>
,右移动a = 60 # 60 = 0011 1101 c = a >> 2; # 15 = 0000 1111