前言:奇偶校验码是一种增加二进制代码传输距离最简单和最广泛的方法,通过增加冗余位使码字中“1”的个数恒为奇数或者偶数。
1.奇偶校验
码距是指一个编码系统中,任意两个合法编码之间至少有多少个二进制位不同。例如:4位8421码在传输过程中,任意一位或者多位编码发生改变都会变成另一个合法编码,因此这种编码毫无检测能力。
奇偶校验是一种简单有效的方法,通过在编码中增加一个校验位,使得在编码中“1”的个数为奇数奇校验)或者为偶数偶校验),从而使码距变为2。
奇偶校验码只能检测奇数位出错的情况,不能检测偶数位出错情况,并且不具有纠错能力。
2. 奇偶校验码 2.1 8421码的奇偶检验码
以4位8421码为例,先计算4位数据位中1的个数,最后决定添加检验位“0”或者“1”,使得整体数据位+校验位)中“1”的个数为奇数奇校验)或者偶数偶校验)。
十进制数8421码奇校验偶校验000000000 10000 0100010001 00001 1200100010 00010 1300110011 10011 0401000100 00100 1501010101 10101 02.2 水平校验码 数据水平校验码(奇校验)水平校验码(偶校验)1001 0001011100 1001100010 0011011010 1010102.3 垂直校验码 数据bit7bit6bit5bit4bit3bit2bit1bit0-10010001-11010001-00100011-10101010垂直(奇校验)00110110垂直(偶校验)110010012.4 水平垂直校验码 数据bit7bit6bit5bit4bit3bit2bit1bit0水平(奇校验)水平(偶校验)-1001000101-1101000110-0010001101-1010101010垂直(奇校验)0011011011垂直(偶校验)1100100100