信息论与编码实验报告
void xunhuan(int g[N],int c[N],int r,int n) { int temp1,temp2,i,k,t,j,e,u,sum=0; int d[N][2*N]={0},C[N],R[N],q[N]; temp1=r;
//求信息多项式的次幂 for(i=0;i<=n-r-1;i++) if(c[i]!=0) { temp2=n-i-1; break; } for(i=0;i<N;i++) { q[i]=g[i]; R[i]=c[i]; } k=temp2-temp1; e=k; //实现二进制除法 for(j=0;j<N;j++) { for(i=0;i<N;i++) q[i]=g[i]; for(i=n-1;i>=e;i--) { t=q[i];q[i]=q[i-e];q[i-e]=t; } for(i=0;i<=n-1;i++) c[i]=(c[i]+q[n-1-i])%2; for(i=0;i<=n-1;i++) if(c[i]!=0) { temp2=n-i-1; break; } e=temp2-temp1; u=j; if(e<0) break; } for(i=0;i<=n-1;i++) C[i]=(R[i]+c[i])%2; //输出 cout<<"循环编码的结果为:"<<endl; for(j=0;j<=n-1;j++) cout<<C[j]; cout<<endl; }