Python3位运算符实例

Python语言支持以下位运算符
操作符 描述 示例
二进制和
(a & b) (二进制表示为 0000 1100)
二进制或
(a | b) = 61 (二进制表示为 0011 1101)
二进制异或运算
(a ^ b) = 49 (二进制表示为 0011 0001)
二进制的补
(~a ) = -61 (二进制表示为1100 0011以2的补码形式,由一个带符号二进制数)
<< 
二进制左移
a << = 240 (二进制表示为 1111 0000)
>> 
二进制右移
a >> = 15 (二进制表示为 0000 1111)

示例

#!/usr/bin/python3

a = 60            # 60 = 0011 1100
b = 13            # 13 = 0000 1101
print ('a=',a,':',bin(a),'b=',b,':',bin(b))
c = 0

c = a & b;        # 12 = 0000 1100
print ("result of AND is ", c,':',bin(c))

c = a | b;        # 61 = 0011 1101 
print ("result of OR is ", c,':',bin(c))

c = a ^ b;        # 49 = 0011 0001
print ("result of EXOR is ", c,':',bin(c))

c = ~a;           # -61 = 1100 0011
print ("result of COMPLEMENT is ", c,':',bin(c))

c = a << 2;       # 240 = 1111 0000
print ("result of LEFT SHIFT is ", c,':',bin(c))

c = a >> 2;       # 15 = 0000 1111
print ("result of RIGHT SHIFT is ", c,':',bin(c))

当你执行上面的程序它产生以下结果 -
a= 60 : 0b111100 b= 13 : 0b1101
result of AND is  12 : 0b1100
result of OR is  61 : 0b111101
result of EXOR is  49 : 0b110001
result of COMPLEMENT is  -61 : -0b111101
result of LEFT SHIFT is  240 : 0b11110000
result of RIGHT SHIFT is  15 : 0b111

上一篇: Python3变量类型 下一篇: Python3基本运算符