假设我使用以下代码在python中定义了一些位数组:

from bitarray import bitarray
d=bitarray('0'*30)
d[5]=1

如何将d转换为其整数表示形式?
另外,如何使用位数组执行诸如d&(d+1)的操作?

最佳答案

要将bitarray转换为其整数形式,可以使用struct模块:

代码:

from bitarray import bitarray
import struct

d = bitarray('0' * 30, endian='little')

d[5] = 1
print(struct.unpack("<L", d)[0])

d[6] = 1
print(struct.unpack("<L", d)[0])

输出:
32
96

09-25 22:19
查看更多