校验码
校验码
校验码确保计算机系统运行时,数据传输过程的正确性。
常用校验码:
1. 奇偶校验码
奇偶校验码是奇校验码、偶校验码的统称。
①奇校验码:奇校验加上校验位后,编码中的1的个数是奇数。
②偶校验码:偶校验加上校验位后,编码中的1的个数是偶数。
③奇偶校验码:校验位只有一位,可以检查错误,但无法检测错误位,也无法矫正错误;
示例:
原编码 | 奇校验 | 偶校验 |
---|---|---|
0000 | 0000 1 | 0000 0 |
0001 | 0001 0 | 0001 1 |
0011 | 0011 1 | 0011 0 |
奇偶校验码有3种:
2. 循环冗余校验码CRC
循环冗余校验码CRC是基于模2运算的校验码。
可查错,不可纠错。
暂不详述。
3. 海明校验码
海明校验码是利用奇偶性校验检错的,通过扩大码距,实现检错和纠错。
海明校验码的校验位有多位,可以检查错误,也可以矫正错误。
码距:两个合法码字之间不同的二进制的位数。
最小码距:一组合法码字之间的最小的码距。
公式:
校验码位置: 在海明码的第 位。
示例:数据位是 位
1. 计算校验位数:
数据位是 位,则根据公式 ,得 。
2. 数据位D与校验位P的位置:
校验位是4位,根据 计算:
校验位P1的位置=1;
校验位P2的位置=2;
校验位P3的位置=4;
校验位P4的位置=8;
海明码 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
校验码 | - | - | - | - | P4 | - | - | - | P3 | - | P2 | P1 |
数据位 | D7 | D6 | D5 | D4 | - | D3 | D2 | D1 | - | D0 | - | - |
3. 确定校验关系
数据位的海明码的下标,用校验位所对应的海明码下标表示出来。
下标 | 海明码 | 数据位下标 | 校验位 |
---|---|---|---|
1 | H1(P1) | - | P1 |
2 | H2(P2) | - | P2 |
3 | H3(D0) | 3=1+2 | P1,P2 |
4 | H4(P3) | - | P3 |
5 | H5(D1) | 5=1+4 | P1,P3 |
6 | H6(D2) | 6=2+4 | P2,P3 |
7 | H7(D3) | 7=1+2+4 | P1,P2,P3 |
8 | H8(P4) | - | P4 |
9 | H9(D4) | 9=1+8 | P1,P4 |
10 | H10(D5) | 10=2+8 | P2,P4 |
11 | H11(D6) | 11=1+2+8 | P1,P2,P4 |
12 | H12(D7) | 12=4+8 | P3,P4 |
4. 计算校验位
P1校验:P1 = D0 D1 D3 D4 D6
P2校验:P2 = D0 D2 D3 D5 D6
P3校验:P2 = D1 D2 D3 D7
P4校验:P4 = D4 D5 D6 D7
5. 终上所述,得出海明码
海明码 | D7 | D6 | D5 | D4 | P4 | D3 | D2 | D1 | P3 | D0 | P2 | P1 |
---|
6.校验
P1校验结果:S4 = P1 D0 D1 D3 D4 D6
P2校验结果:S3 = P2 D0 D2 D3 D5 D6
P3校验结果:S2 = P3 D1 D2 D3 D7
P4校验结果:S1 = P4 D4 D5 D6 D7
即为出错位
- 点赞
- 收藏
- 关注作者
评论(0)