我如何一次读取和写3位



我正在尝试制作Brainfuck的超压缩变体,这是一种具有8个说明的深奥编程语言。由于3位是存储8个值的最低存储量,因此我选择了。我坚持的一部分是如何读取不是2.

的许多功能的部分。

我尝试使用std::bitset,但这只是序列化到每位1个字节的字符串,这与我想要的相反。我将如何处理?

一次读取3个字节,然后使用>>和&操作员。将它们放入普通的UINT8_T数组中,以简化以后的访问和跳跃。

您不会从流中读取位,而是从流中读取字节。

因此,您必须这样做,然后按照位算术的方式将组件碎屑洗牌。

顺便说一句,计算机在字节中起作用的事实也意味着您的许多程序(所有没有8个说明中的任何程序(必然会浪费空间。

最新更新