我刚开始在 python 中使用 bitarray 包,并试图从一个整数生成一个 bitarray 给了我非常困惑的结果:
>>> import bitarray
>>> bitarray.bitarray(5)
bitarray('01000')
>>> bitarray.bitarray(5)
bitarray('00010')
>>> bitarray.bitarray(5)
bitarray('00100')
>>> bitarray.bitarray(5)
bitarray('00110')
有谁知道为什么会发生这种情况?
另外:从 int 生成位数组的更好方法是什么?这可行,但字符串转换似乎是一种奇怪的方式...
>>> bitarray.bitarray(bin(5)[2:])
bitarray('101')
编辑:我最终切换到 bitstring ,它确实有一个从整数中获取位串的简单方法:
>>> bitstring.BitArray(uint=5,length=6)
BitArray('0b000101')
最佳答案
>>> from bitarray.util import int2ba
>>> int2ba(5)
bitarray('101')
来自project page在“bitarray.util 模块中定义的函数:”下。
关于python - 从整数制作 python 位数组 - 奇怪的结果!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6422022/