假设要将数字10转换为对应的汉明码,过程如下:
1.列表,并将4位二进制码填入b4、b3、b2、b1,(10的二进制为1010B)
位置 | C1 | C2 | b4 | C4 | b3 | b2 | b1 |
二进制序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
正确的汉明码 | c1 | c2 | 1 | c4 | 0 | 1 | 0 |
2.用公式计算出c1、c2、c4(表示异或运算:相同为0,不同为1)
C1=位3位5
位7=b4
b3
b1
C2=位3 位6
位7=b4
b2
b1
C4= 位5位6
位7= b3
b2
b1
即:
c1=10
0=1
c2=11
0=0
c4=01
0=1
:多个二进制位的异或运算,即数出数字"1"的个数,若个数为偶数个,结果为0;反之为1
3.将c1、c2、c4的值填入对应的位置
即:
数字10的汉明码为:1011010B
综上,0到15的数字转换成对应的汉明码均为如此。