你如何在Python中进行位操作?

时间:2012-12-21 18:24:54

标签: python c

  

可能重复:
  How do I manipulate bits in 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中这样做。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:4)

根据文档,您可以像在C中一样使用它们:

5.4.1 Bitwise Operations on Integer Types

答案 1 :(得分:0)

和C一样, Justin 在下面说。

如果您遇到麻烦,可以轻松学习here

答案 2 :(得分: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'

根据你所追求的内容,将其作为一个字符串。