用C++可以存储2bit的数据么?

今天用哈夫曼编码做24位bmp图像的压缩,像素里的RGB已经按频率编好了前缀编码。问题是编好了的前缀码有的较短,不需要一个字节来装,只要几个比特就好了。但是最小的数据类型unsigned char也有一个字节,用它来装编码达不到压缩的效果

c++

3个回答

还有std::bitset

实际上对于32bit总线来说一次读取数据的最小单位是4个字节。所以现在的编译器都会按照4字节8字节对齐,使用bit存储节约一点内存但是会让你的程序的性能下降几个数量级。

qq_35178267
咆哮的兔霸霸 涨知识了,谢谢您!
接近 3 年之前 回复

移位运算,再增加一个变量表示存了多少位。

qq_35178267
咆哮的兔霸霸 好的,谢谢您!
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!