Python 3 – 位运算符示例

Python 3 – 位运算符示例

下列位运算符可用于Python语言 –

运算符 描述 例子
& 二进制与 如果位于两个操作数中均存在位则将其复制到结果中 (a & b)(意为00001100)
| 二进制或 如果两个操作数中任意一个存在位,则将其复制 (a | b) = 61(意为00111101)
^ 二进制异或 如果存在于一个操作数中,但不存在于另一个操作数中,则复制其位。 (a ^ b) = 49(意为00110001)
~ 二进制取反 它是一元的,并且具有’翻转’位的效果。 (~a) = -61(由于带符号的二进制数,其补码形式为11000011)
<< 二进制左移 左侧操作数的值向左移动由右侧操作数指定的位数。 a << 2 = 240(意为11110000)
>> 二进制右移 左侧操作数的值向右移动由右侧操作数指定的位数。 a >> 2 = 15(意为00001111)

示例

#!/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 ("AND的结果是", c,':',bin(c))

c = a | b;        # 61 = 0011 1101 
print ("OR的结果是", c,':',bin(c))

c = a ^ b;        # 49 = 0011 0001
print ("EXOR的结果是", c,':',bin(c))

c = ~a;           # -61 = 1100 0011
print ("COMPLEMENT的结果是", c,':',bin(c))

c = a << 2;       # 240 = 1111 0000
print ("LEFT SHIFT的结果是", c,':',bin(c))

c = a >> 2;       # 15 = 0000 1111
print ("RIGHT SHIFT的结果是", c,':',bin(c))

输出

运行以上程序会产生以下结果 –

a = 60 : 0b111100 b = 13 : 0b1101
AND的结果是12 : 0b1100
OR的结果是61 : 0b111101
EXOR的结果是49 : 0b110001
COMPLEMENT的结果是-61 : -0b111101
LEFT SHIFT的结果是240 : 0b11110000
RIGHT SHIFT的结果是15 : 0b111

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程