📄 main.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 + -