0

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

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

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++ 中使用什么“工具”来实现这个目标?

4

2 回答 2

2

这看起来像是boost::dynamic_bitset擅长的事情。

于 2012-11-07T12:32:34.400 回答
0

我会使用一个vector<uint8_t>和很多位操作符(<<, >>, &,|等)。我可能会使用 avector<uint16_t>来保存 9 位值作为中间步骤,这取决于我想要工作的努力程度。

于 2012-11-07T12:31:29.270 回答