校验码
进位进制数
基数:每个数码位所用到的不同符号的个数,r进制的基数位r
BCD码
8421码:
每4个二进制位对应一个十进制位(有6个冗余状态)
8、4、2、1分别对应每-位的权值,00001001分别对应09,进行加法后若超出该范围,则需+0110进行修正(强制向高位进1)
余3码
8421码+ (001 1)
2421码
2、4、2、1分别对应每一位的权值
表示04时最高位为0,表示59时最高位为1
ASCII码
大写字母: 65(0100 0001) ~90(0101 1010)
小写字母: 97(0110 0001)~122(0111 1010)
奇偶校验码
由若干位代码组成的一个字叫码字。
将两个码字逐位进行对比,具有不同的位的个数称为两个码字间的距离
一种编码方案可能有若千个合法码字,各合法码字间的最小距离称为“码距”。
奇校验码:整个校验码(有效信息位和校验位)中“1” 的个数为奇数。
偶校验码:整个校验码(有效信息位和校验位)中“1”的个数为偶数。
异或运算后,当结果为一时,则代表为奇数个1,反之则为偶数个,源码异或后则可得偶校验的校验码
海明码
海明码设计思路:将信息位分组进行偶校验——多个校验位——多个校验位标注出错位置
补充:海明码有1位纠错,2位检错能力为了区分1位错和2位错,还需添加“全校验位”对整体进行偶校验注意:有的题目位置编号可能是从小到大的,但处理方法雷同
循环冗余校验码
算CRC码时用异或运算
理论上可以证明循环冗余校验码的检错能力有以下特点:
1)可检测出所有奇数个错误;
2)可检测出所有双比特的错误;
3)可检测出所有小于等于校验位长度的连续错误;
K个信息位,R个校验位,若生成多项式选择得当,且2^R>=K+R+1,则CRC码可纠正1位错