我是否被迫将文件读入字符串然后将字符串转换为bitset?
我有8192位存储在一个文件中,我需要得到每256位设置的第n位。我的想法是将所有位加载到std::vector<std::bitset>
然后使用boost myvector | boost::adaptors::strided(64)
有没有更好的方法来执行此操作?这很容易用python使用bitstring模块实现,但它真的很慢。尝试用C ++做,但遇到了各种我不熟悉的问题。
Python代码(这也会切换字节的字节顺序)这里ch是32,32字节数组。外部循环选择大元素,内部循环重新排序字节。:
jrange = range(32)
irange = range(8)
for j in jrange:
for i in irange:
(BitArray([element[(7-i)+j*8] for element in ch])).tofile(outfile)