⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitio.cpp

📁 有关几个数字编码的C++ 程序
💻 CPP
字号:
// BitIO.cpp: implementation of the CBitIO class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "BitIO.h"

//----------------- Construction/Destruction--------------------------
CBitIO::CBitIO()
{

}

CBitIO::~CBitIO()
{

}
//=====================================================================

//----------------------initialize bit input---------------------------
void CBitIO::start_inputing_bits(FILE *filein)
{
	bits_to_go = 0;
	garbage_bits = 0;
	inputfile = filein;
}
//======================================================================

//---------------------------input a bit--------------------------------
int CBitIO::input_bit()
{
	int t;
	if ( bits_to_go == 0 )
	{
		buffer = getc(inputfile);
		if ( buffer == EOF )
		{
			garbage_bits += 1;
			if ( garbage_bits > Code_value_bits-2 )
			{
				//::MessageBox(NULL,"Bad input file\n","Errer");
				printf("bad input file");
				exit(-1);
			}
		}
		bits_to_go = 8;
	}
	t = buffer&1;
	buffer >>= 1;
	bits_to_go -= 1;
	return t;
}
//=======================================================================

//----------------initialize for bit input-------------------------------
void CBitIO::start_outputing_bits(FILE *fileout)
{
	buffer = 0;
	bits_to_go = 8;
	outputfile = fileout;
}
//========================================================================

//-------------------------output a bit-----------------------------------
void CBitIO::output_bit(int bit)
{
	buffer >>= 1;
	if ( bit ) 
		buffer |=0x80;
	bits_to_go--;
	if ( bits_to_go == 0 )
	{
		putc(buffer,outputfile);
		bits_to_go = 8;
	}

}
//=========================================================================

//--------------------flush out the last bits------------------------------
void CBitIO::done_outputing_bits()
{
	putc(buffer>>bits_to_go, outputfile);

}
//=========================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -