0
我有一個32位數字,我想將最後16位設置爲零。在Python:按位和左/右移
#a is in base 10
In [143]: a
Out[143]: 536899058
通常情況下,我會做的數量和位掩碼之間的位與。
# 11111111 11111111 00000000 00000000 is 4294901760 in base 10
In [145]: a & 4294901760
Out[145]: 536870912L
在這種特定的情況下,是否有在的任何缺點的由16個比特移位數到右邊,然後移它回到左 16點的位置?
In [146]: (a >> 16) << 16
Out[146]: 536870912
我認爲'a&0xFFFF0000'更清晰 – user3159253
反過來。首先,你的右移然後離開。你有負號嗎? – Carsten
行動,對不起。不,沒有負數。 –