我需要一种将2000万个32位和64位整数转换为相应的位数组的方法(因此必须具有内存/时间效率)。在SO上受到不同问题/答案的建议下,我尝试使用
我希望
numpy.unpackbits
来实现这一点。在尝试这种方法时,我遇到了意外的结果:np.unpackbits(np.array([1], dtype=np.uint64).view(np.uint8))
产生:
array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=uint8)
我希望
1
元素应该是最后一个,而不是在中间。所以显然我缺少保留字节顺序的东西。我缺少什么?
0
。 - Dmitry B.np.unpackbits
需要一个字节数组。 - Dmitry B.1
)是在运行Python进程的同一台计算机上生成的。我可以再找其他线索。 - Dmitry B.