2013-10-31 10 views
0

我有兩個字節,例如01010101和11110000.我需要連接第二個字節「1111」的四個最重要的位和第一個整個字節,產生類似於0000010101011111的內容,即填充四個零,第一個整個字節和最後四個最重要的位第二個字節。如何連接Python中的位

有什麼想法?

+1

字節是如何表示的?作爲Python整數?字符串?字節在文件中? –

+1

你有沒有嘗試過任何東西呢?你能告訴我們那個代碼嗎?你遇到什麼問題? –

+0

可以對int進行子類化以允許對讀取進行位分片,即「x = 0xfed; print x [7:4] - > 0xe'但是因爲整數是可變的,所以不能真的以另一種方式去...所以不妨學習數學並做移位/掩碼/或... –

回答

7

試試這個:

first = 0b01010101 
second = 0b11110000 
res = (first<<4) | (second>>4) 
print bin(res) 

通過4位的第一個字節左移(first<<4)您將添加4尾隨零位。第二部分(second>>4)將移出您的第二個字節的右邊4個LSB位以丟棄它們,因此只剩下4個MSB位,然後您可以按比例或者部分結果(python中的|)對它們進行組合。