前言:奇偶校验码是一种增加二进制代码传输距离最简单和最广泛的方法,通过增加冗余位使码字中“1”的个数恒为奇数或者偶数。
1.奇偶校验
码距是指一个编码系统中,任意两个合法编码之间至少有多少个二进制位不同。例如:4位8421码在传输过程中,任意一位或者多位编码发生改变都会变成另一个合法编码,因此这种编码毫无检测能力。
奇偶校验是一种简单有效的方法,通过在编码中增加一个校验位,使得在编码中“1”的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。
奇偶校验码只能检测奇数位出错的情况,不能检测偶数位出错情况,并且不具有纠错能力。
2. 奇偶校验码
2.1 8421码的奇偶检验码
以4位8421码为例,先计算4位数据位中1的个数,最后决定添加检验位“0”或者“1”,使得整体(数据位+校验位)中“1”的个数为奇数(奇校验)或者偶数(偶校验)。
十进制数 | 8421码 | 奇校验 | 偶校验 |
---|---|---|---|
0 | 0000 | 0000 1 | 0000 0 |
1 | 0001 | 0001 0 | 0001 1 |
2 | 0010 | 0010 0 | 0010 1 |
3 | 0011 |