1. 程式人生 > >Python進位制數字中位操作

Python進位制數字中位操作

除了一般數字運算,Python也支援C語言中的大多數數學表示式。這包括那些把整數當作二進位制位串對待的操作。還可以實現衛衣和布林操作:

>>> X = 1       # 0001
>>> X << 2      # 左移兩位,成了0100,即4
4
>>> X | 2       # 異或(0001 | 0010), 即3
3
>>> X & 1       # 同或(0001 & 0001), 即1
1
>>>

這樣的按位進行編碼的運算,使我們可以對一個整數進行多個標誌位和值進行編碼, Python 2.6開始支援二進位制和十六進位制變得特別有用,它允許我們按照位字串來編寫和檢視數字:

>>> X = 0b0001           # 二進位制數字
>>> X << 2               # 數字左移2位
4

>>> bin(X << 2)          # 將二進位制數字左移的結果以二進位制的方式來顯示
'0b100'

>>> bin(X | 0b010)       # 將二進位制數字異或的結果以二進位制的方式來顯示
'0b11'

>>> bin(X & 0b1)         # 將二進位制數字同或的結果以二進位制的方式來顯示
'0b1'

>>> X = 0xFF             # 十六進位制數字
>>> bin(X)               # 對應的二進位制
'0b11111111'

>>> X ^ 0b10101010       # 異或結果
85

>>> bin(X ^ 0b10101010)  # 異或的結果轉變成二進位制
'0b1010101'

>>> int("1010101", 2)    # 二進位制
85

>>> hex(85)              # 十六進位制
'0x55'

>>>