可能重复:
如何在 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 中执行此操作。任何人都可以帮忙吗?
可能重复:
如何在 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 一样,正如Justin下面所说的。
如果你真的有困难,你可以在这里很容易地学习。
它与 C 几乎相同,除了在 C 中类型是固定的(16 位、32 位等...... - 在 Python 中,它们能够根据需要进行扩展,所以从根本上说,它是相同的,但会是最好写成):
for i in range(val.bit_length()):
if val & (1 << i):
print 'found a bit'
你也可以这样做,
>>> format(val, 'b')
'10101010'
也可以将其作为位串来获取,具体取决于您所追求的。