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

📄 ma.cpp

📁 信息论与编码重要算法lz算法、汉明码实现码字 分组编码。
💻 CPP
字号:
#include<stdio.h>
int main()
{
 int i,j,k,min,w[8]={0};
 int c[3][7]={1,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1,1,1,0,1};
 int c1[7][3],d[4][7],d1[8][7];
 for(i=0;i<4;i++)
  for(j=0;j<7;j++)
  d[i][j]=0;
for(i=0;i<8;i++)
  for(j=0;j<7;j++)
  d1[i][j]=0;
for(i=0;i<7;i++)
 for(j=0;j<3;j++)
 c1[i][j]=c[j][i];
for(i=0;i<4;i++)
{
  d[i][i+3]=1;
for(j=0;j<3;j++)
  d[i][j]=c1[i+3][j];
}
printf("校验矩阵是:\n");
for(i=0;i<4;i++)
 {
  for(j=0;j<7;j++)
  printf("%d ",d[i][j]);
 printf("\n");
}

for(i=0;i<8;i++)
{
    k=i;
    for(j=2;j>=0;j--)
   { 
     d1[i][j]=k%2;
     k=k/2;
   }
}
for(i=0;i<8;i++)
 {
   d1[i][3]=(d1[i][0]+d1[i][2])%2;
   d1[i][4]=(d1[i][0]+d1[i][1]+d1[i][2])%2;
   d1[i][5]=(d1[i][0]+d1[i][1])%2;
   d1[i][6]=(d1[i][1]+d1[i][2])%2;
  }
printf("输出码字是:\n");
for(i=0;i<8;i++)
 {
  for(j=0;j<7;j++)
  printf("%d ",d1[i][j]);
 printf("\n");
}
 for(i=0;i<8;i++)
   for(j=0;j<7;j++)
  w[i]+=d1[i][j];
min= 10;
for(i=0;i<8;i++)
if(w[i]&&w[i]<min)
 min=w[i];
printf("最小码距为 %d",min);
while(1);
return 0;
}

⌨️ 快捷键说明

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