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

📄 main.c

📁 实现HDB3编码
💻 C
字号:
/*	ANSI C Source Code
 *  Main.c
 *	Leon 5.11.2008
 */

#include <stdio.h>
#include <stdlib.h>
#include "HDB3.h"

void main( void )
{
	int num=0;		
	struct Code_control c_ctrl,*c_state;
	struct Decode_control d_ctrl,*d_state;

	int bitlen=100;
	int bit,*in,*code,*decode;
	in=(int *)calloc(bitlen,sizeof(int));
	code=(int *)calloc(bitlen,sizeof(int));
	decode=(int *)calloc(bitlen,sizeof(int));

	c_state=&c_ctrl;
	d_state=&d_ctrl;
	c_state->pole=1;			//假设第一个1 ,初始极性可随便设
	d_state->pole=c_state->pole;

	//读字节
	while((bit=getchar())!='\n')
	{
		bit=bit-48;
		if((bit!=0)&&(bit!=1))
		{
			printf("fuck error!");
			exit(1);
		}
		in[num++]=bit;
	}
	in[num++]=2;	//结束符
	Print("the input string",in);
	
	//HDB3编码
	Code_HDB(in,code,c_state);
	Print("coded string",code);

	//HDB3译码
	Decode_HDB(code,decode,d_state);
	Print("decoded string",decode);

}

void Print(char s[20],int *bits)
{
	int i=0;
	printf("%s\n",s);
	while(bits[i]!=2)
	{
		if(bits[i]==1)
			printf(" +%d",bits[i]);
		else
			printf("%3d",bits[i]);
		i++;
	}
	printf("\n");
}

⌨️ 快捷键说明

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