压缩的十进制数串
- BCD码,一个字节存放两个十进制数位
- 1100 表示正,1101表示负
字符码
ASCII码
128个字符,7位编码,最高位为0
最高位可以用做奇偶校验
汉字编码
- 输入编码:数字编码、拼音码、字形编码
- 汉字内码:GB2312、UNICODE -汉字字模码:点阵表示
校验码
码距
指任意两个合法码之间不同的二进制位的最小位数
例:
-
四位二进制表示16种状态,码距为1,任何一种状态的四位码中的一位或几位出错,就变成另一个合法码,无检测能力
-
四位二进制表示8种状态,可以使码距扩大为2
奇偶校验
在发送的数据末尾添加一位校验码, 奇校验码:添加校验码后整个数据中1的个数为奇数个
海明码
在数据中添加少数的几位校验码,可以恢复几位出错信息
- 校验位的位数:K为有效信息的位数,r为校验位的位数;须满足N=K+r<=2r-1 (N,K)海明码
- 校验位的位置:数据位D(DiDi-1…D1D0)、校验位P(PjPj-1…P2P1) 每个校验位Pi从低到高被分在海明码中2i-1的位置 每个数据位在海明码中的位号等于校验它的位号之和:
H7 | H6 | H5 | H4 | H3 | H2 | H1 |
---|---|---|---|---|---|---|
D3 | D2 | D1 | P3 | D0 | P2 | P1 |
O | O | O | ||||
O | O | O | ||||
O | O | O |
进行分组:
1.(P1,D3,D1,D0)
2.(P2,D3,D2,D0)
3.(P3,D3,D2,D1)
校验位形成偶校验:
1.P1=第一组的数据位求异或
2.P2=第二组的数据位求异或
3.P3=第三组的数据位求异或
4.所有校验位算好后,计算总校验位P=以上所有位求异或加在数据的最前面
接收端同理求出各校验码
若总校验位为1表示出错
第 “P3P2P1” 位数据出错