将原始二进制文件读入bitset向量

时间:2017-10-04 22:05:41

标签: c++ vector boost binary

我是否被迫将文件读入字符串然后将字符串转换为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)

0 个答案:

没有答案