1、首先必须掌握的知识:1、奇偶校验;2、海明码默认进行偶校验;3、海明码的构成
2、例如:给定一组信息码:110001求其海明码首先我们可以确定n = 6,信息码个数为6
3、计算校验码个数:根据公式:n + k <= 2^k -1使得不等式成立的k的最小值为4(因为四位的校验码可以满足要求检测要求,没必要取更大的k值)。则海明码的个数为:n + k = 10
4、确定校验码的位置:校验码的个数有四个,按照2^k留取位置,k从0开始,则校验码的位置为:1,2,4,8……
5、然后我们将信息码从左到右填入除了预留校验码位置的其他位置,现在我们根据偶校验的方法,求得校验位置的码即可得到海明码
6、校验位置的值求得方法,首先对校验位按曳骣苷镐照二进制进行分类:H1 所在位置的二进制码为0001(此处为什么要写成0001而不写成01呢,这个是根据校验码的数量来定的),我们可以标记为淌捌釜集XXX1;H2所在位置的二进制码为0010,标记为XX1X;H4所在位置的二进制码为0100,标记为X1XX;H8所在位置的二进制码为1000,标记为1XXX
7、同样的,我们列举出H3、H5、H6、H7、H9、H10位置的二进制码:0011,0101,0110,0111,1001,1010然后我们按照二进制结构对其进行归类
8、有归类结果可知:H1所在位置的校验码,校验的是H3、H5、H7、H9位置的信息码;H2所在位置的校验码,校验的是H3、H6、H7、H10位置的信息洁船诼抨码;H4所在位置的校验码,校验的是H5、H6、H7位置的信息码;H8所在位置的校验码,校验的是H9、H10位置的信息码;
9、根据归类结果,当H1 ⊕ H3 ⊕ H5 ⊕ H7⊕ H9需满足偶校验;H3、H5、H7、H9对应的信息码为:1 0 0 1,要满足偶校验,则H1的校验码应该为0同理可求得H2、H4、H8位置所对应的校验码
10、然后将校验位对应的码填写到相应的位置,即得到海明码