python - 从整数制作 python 位数组 - 奇怪的结果!

标签 python bit-fields bitarray

我刚开始在 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/

相关文章:

Java:将两个双位串混合在一起以进行遗传算法交叉

python - 如何使用 python cv2 api 为 undistortPoints 格式化 xy 点?

python - 如何更改此代码,使其跳过周末但从星期二开始

python - 查找数据中零元素的数量

python - Windows 上 Python 2.7 的位数组包?

c - 如何在 C 中正确地重新分配一个位数组

Python:A4 大小的图

c union 和位域

c++ - 位域。为什么没有输出?

c - 大端和小端的混合位域和结构域的对齐