海明码是什么样编码的?H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1 D7 D6 D5 D

1个回答

  • 我在网上面帮你找到以个,可以参考一下 #include #include #include #define N 1270 #define K 1200 #define G 70 //#define HAIMING using namespace std; int len[N]; int i_2_r(int a) //求一个2^n次方的数的幂 { int count=0; if(a==1) return 0; while(a>1) { a=a/2; count++; } return count; } void in_to_Group(int a[],int b,int n) //添加到各组中 { int i; for(i=1;i= k+r+1 { int i,s = 1; for(i = 1;i = k+r+1) return 1; else return 0; } int is_i_2_r(int i) //判断 i 是否为 2^n 位 { if(i == 1) return 1; if(i%2 != 0) return 0; while(i%2 == 0 && i != 1) i=i/2; if(i==1) return 1; return 0; } int int_to_invdec(int a[],int n) //求一个整数的逆序的二进制码 { int i=1; //以计算校验位号 while(n) { a[i++]=n%2; n/=2; } return i-1; //返回位数 } int count1(int a[],int n) //计算 1 的个数 { int i,count = 0; for(i = 1;i