-2

可能重复:
如何在 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 中执行此操作。任何人都可以帮忙吗?

4

3 回答 3

4

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

5.4.1 整数类型的按位运算

于 2012-12-21T18:26:41.000 回答
0

和 C 一样,正如Justin下面所说的。

如果你真的有困难,你可以在这里很容易地学习。

于 2012-12-21T18:31:58.627 回答
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'

也可以将其作为位串来获取,具体取决于您所追求的。

于 2012-12-21T18:32:53.867 回答