2012-12-21 38 views
-2

可能重複:
How do I manipulate bits in Python?你如何在Python中進行位操作?

這裏是我的代碼:

int val = 0xAA; 
int Bit, i; 

for (i = 0; i < sizeof(Val)*8; i++) { 
    Bit = 1<<i;  
    if (Val & Bit) { 
     printf("Found a bit \n"); 
    } 
} 

我是一個C的人,我必須這樣做在Python。誰能幫忙?

+1

你有試過什麼嗎?大多數情況下,您可以使用相同的操作員。 –

+1

http://stackoverflow.com/questions/147713/how-do-i-manipulate-bits-in-python類似的問題。 – sean

+1

-1零點研究 –

回答

0

同爲C,作爲賈斯汀下面說。

如果你真的有麻煩,你可以很容易地學會here

0

它與C幾乎相同,只是在C中,類型是固定的(16位,32位等) - 在Python中,它們可以根據需要進行擴展,所以基本上它們是相同的,但將更好的寫法如下):

for i in range(val.bit_length()): 
    if val & (1 << i): 
     print 'found a bit' 

你也可以只做到,

>>> format(val, 'b') 
'10101010' 

爲了得到它,以及取決於你是什麼後,一個比特串。

+0

VAL =和0xAA bitvalue =格式(VAL, 'B') 在bitvalue位: 如果(位== '1'): 打印位 –

+0

@SanthoshKumar好 - 如果你想,但沒有理由不使用正常的按位操作 - 這只是一個例子 –

相關問題