Python進位制數字中位操作
阿新 • • 發佈:2018-12-13
除了一般數字運算,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' >>>