如何一次读取和写入3位流?

rob*_*bie -1 c++ stream esoteric-languages bit brainfuck

我正在尝试制作一个超压缩的brainfuck变种,这是一种带有8条指令的深奥编程语言.由于3位是存储8个值的最小存储量,所以我选择了它.我坚持的部分是如何读取不是2的幂的位数.

我尝试使用std::bitset,但这只是序列化为每位1字节的字符串,这与我想要的相反.我该怎么做?

Erl*_*nig 5

一次读取3个字节,然后使用>>和&运算符将它们分成8个3位.将它们放在普通的uint8_t数组中,以简化以后的访问和跳转.