问题描述
- 求助,怎么将编码结果用 bit 位存到文件中
-
对一篇英文文章出现的字符进行Huffman编码,然后要将编码表和英文文章保存到文件中,编码结果必须是二进制形式,即0和1要用bit位表示,不能用字符'0'和‘1’表示
解决方案
计算机最小单位是字节 8位
解决方案二:
我知道啊,所以不能用字符型的,要用bit位啊
解决方案三:
文件可以在打开时,以二进制的形式打开。
if( (fp=fopen(filename,"wb"))== NULL )
{
printf("Can not open %s!n",filename);
exit(0);
}
解决方案四:
存入文件的时候用二进制方式
解决方案五:
我知道必须要用二进制方式存储,但字符型的0和1跟bit型的0和1所占的存储空间相差8倍,举个例子,我用二进制方式存字符型的'0',它实际存进去的是0的ASCII的二进制形式,需要8个bit,但我按照bit形式的存储,只需要1个bit
解决方案六:
这个很简单,用 data |= 1 << 第几位; 可以将某个bit置1。data &= ~(1 << 第几位) 可以置0。
解决方案七:
可以的 现在好像微软有个规则关于结构体的BIT的1位的声明方法·!拘束在linux下也可以被使用·
类似struct BIT_T
{
int a.1,
int b.1
};
解决方案八:
当然可以。不过要注意,字节是文件存储的最小单位。如果你只存1个bit量,最小也得用1个字节(8位)。
时间: 2024-08-03 08:28:15