所以我需要编写加载二进制文件的算法,并在每个字节前加一个额外的位。
所以如果这是我在“二进制编辑器”中打开的二进制文件:
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 ++中使用什么“工具”来实现这一目标?
答案 0 :(得分:2)
这似乎是boost::dynamic_bitset
可以擅长的东西。
答案 1 :(得分:0)
我会使用vector<uint8_t>
和许多有点笨拙的运算符(<<
,>>
,&
,|
等等。我可能会使用vector<uint16_t>
来保存9位值作为中间步骤,具体取决于我想要工作的难度。