在文件中存储 9 位

Storing 9 bits in the file

本文关键字:存储 文件      更新时间:2023-10-16

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

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

0 1 0 0 0 0 00 0

0 0 0 1 0 00 0

0 0 0 0 0 0 00 0

0 0 1 01 0 0 0

0 1 0 0 0 0 00 0

处理后,我将有:

1 010 0

0 0 0 0 0 0 0 00 1 00

0 0 1 0 0 0 00 0

0 0 0 1 0 010

1 0 0 0 00 10

0 0 0 0 0 0 00 0

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

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

我会使用vector<uint8_t>和很多有点抖动运算符(<<>>&|等)。我可能会使用vector<uint16_t>来保存 9 位值作为中间步骤,具体取决于我想工作的努力程度。