实验原理书上有,就不再写了,直接列源程序
#include <iostream.h>
void main()
{
int k,t;
int g=0x13; //生成多项式系数 (这里的生成多项式是4次的,所以系数有5个,为10011,用十六进制表示)
cin>>t; //输入信息码,这里的信息选为7位的,如果要更长的,改一下下面红色的数字,相应的加上就可)
t=t<<4; //信息左移4位
k=t;
g=g<<6;
int i=0;
for(;i<7;)
{
if(t<0x400) //表示首位为0,所以要继续往左移动
{
t=t<<1;
i++;
}
else
t=t^g;
}
t=t>>7; //一下两步是还原
k=k^t;
cout<<"t: "<<hex<<t<<endl;
cout<<"Result: "<<hex<<k<<endl;
}