位置:首頁 > 腳本語言 > Python教學 > Python位運算符示例

Python位運算符示例

下表列出了所有的Python語言的支持位運算符。假設變量a持有60和變量b持有13,則:

運算符 描述 示例
& 二進製AND操作複製一位到一個結果數,如果存在兩個操作數。 (a & b) = 12 即  0000 1100
| 二進製或複製操作了一個比特,如果它存在一個操作數中。 (a | b) = 61  即 0011 1101
^ 二進製異或運算符的副本,如果它被設置在一個操作數而不是兩個比特。 (a ^ b) = 49  即 0011 0001
~ 二進製的補運算符是一元的,並有“翻轉”位的效果。 (~a ) =  -61  即 1100 0011 以2的補碼形式由於帶符號二進製數。
<< 二進位向左移位運算符。左操作數的值左移由右操作數指定的位數。 a << 2 = 240 即 1111 0000
>> 二進位向右移位運算符。左操作數的值是由右操作數指定的位數向右移動。 a >> 2 = 15 即  0000 1111

示例:

試試下麵的例子就明白了所有的Python編程語言提供了位運算符:

#!/usr/bin/python

a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0

c = a & b;        # 12 = 0000 1100
print "Line 1 - Value of c is ", c

c = a | b;        # 61 = 0011 1101 
print "Line 2 - Value of c is ", c

c = a ^ b;        # 49 = 0011 0001
print "Line 3 - Value of c is ", c

c = ~a;           # -61 = 1100 0011
print "Line 4 - Value of c is ", c

c = a << 2;       # 240 = 1111 0000
print "Line 5 - Value of c is ", c

c = a >> 2;       # 15 = 0000 1111
print "Line 6 - Value of c is ", c

當執行上麵的程序它會產生以下結果:

Line 1 - Value of c is 12
Line 2 - Value of c is 61
Line 3 - Value of c is 49
Line 4 - Value of c is -61
Line 5 - Value of c is 240
Line 6 - Value of c is 15