海明码
汉明码(Hamming Code)
是在电信领域的一种线性调试码,以发明者理查德·卫斯里·汉明的名字命名。汉明码在传输的消息流中插入验证码,当计算机存储或移动数据时,可能会产生数据位错误,以侦测并更正单一比特错误。由于汉明编码简单,它们被广泛应用于内存(RAM)。
下图是我做好的效果图:
1列出位置号和海明码
2列出P4和G4, P3和G3, P2和G2, P1和G1
注意:从右往左2进制递增,由于H1,H2,H4,H8中只有1位数,所以海明码的位置改为P1,P2,P3,P4。
3题目会给你实际数,这里实际数是我自己想的。
4备份实际数
注意:把海明码位置是P1,P2,P3,P4的地方改为0,实际数往后移一位。
5将备份的值复制到海明码处
6在P4,P3,P2,P1中填入公式,=B27*B$43,B27代表的是
B43
然后以此类推填充。
7在校验位处填入公式
=MOD(10-MOD(SUM(B33:P33),10),10)
B33到P33的总和
32mod10取余2,10-2=8,8mod10取余8。
自动填充校验位分别是
把我圈起来的地方43行的地方改为下方数,此时校验码会全变0.