在文件中存储9位

时间:2012-11-07 12:22:40

标签: c++

所以我需要编写加载二进制文件的算法,并在每个字节前加一个额外的位。

所以如果这是我在“二进制编辑器”中打开的二进制文件:

0 1 0 0 0 0 0 0

0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0

0 0 1 0 1 0 0 0

0 1 0 0 0 0 0 0

处理完毕后我会:

1 0 1 0 0 0 0 0

0 0 0 0 0 1 0 0

0 0 1 0 0 0 0 0

0 0 0 1 0 0 1 0

1 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0

我可以在c ++中使用什么“工具”来实现这一目标?

2 个答案:

答案 0 :(得分:2)

这似乎是boost::dynamic_bitset可以擅长的东西。

答案 1 :(得分:0)

我会使用vector<uint8_t>和许多有点笨拙的运算符(<<>>&|等等。我可能会使用vector<uint16_t>来保存9位值作为中间步骤,具体取决于我想要工作的难度。