這裏是我的代碼:
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。誰能幫忙?
這裏是我的代碼:
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。誰能幫忙?
根據文檔,你做這些你可以以同樣的方式在C:
同爲C,作爲賈斯汀下面說。
如果你真的有麻煩,你可以很容易地學會here。
它與C幾乎相同,只是在C中,類型是固定的(16位,32位等) - 在Python中,它們可以根據需要進行擴展,所以基本上它們是相同的,但將更好的寫法如下):
for i in range(val.bit_length()):
if val & (1 << i):
print 'found a bit'
你也可以只做到,
>>> format(val, 'b')
'10101010'
爲了得到它,以及取決於你是什麼後,一個比特串。
VAL =和0xAA bitvalue =格式(VAL, 'B') 在bitvalue位: 如果(位== '1'): 打印位 –
@SanthoshKumar好 - 如果你想,但沒有理由不使用正常的按位操作 - 這只是一個例子 –
你有試過什麼嗎?大多數情況下,您可以使用相同的操作員。 –
http://stackoverflow.com/questions/147713/how-do-i-manipulate-bits-in-python類似的問題。 – sean
-1零點研究 –