? ? ? ? 数据校验码是一类能够发现甚至自动纠正某些数据错误的数据编码方法。通常,将正确的数据编码称为合法编码,而将错误的数据编码称为非法编码。校验码的设计原则是,当一个合法编码中的数据位发生错误时,就变为一个非法编码,而不是变为另一个合法编码。
? ? ? ? 校验位也称冗余位,是在基本的数据编码上,按特定规则增加的信息位。设置校验位的目的,是为了使一个编码系统不仅能编出全部合法编码,还能编出一定数量的非法编码,从而在合法编码出错时,使能变成非法编码而被检测出来。从另一个角度上说,借助于校验位,可以使任意两个合法编码的码距不小于2,这使得这个编码系统具有了一定的检错能力,如果继续增加并合理设计校验位,就可以进一步扩大最小码距,使这个编码系统能够发现多位编码错误,甚至可以根据产生的非法编码来确定出错位的位置,进而实现自动纠错,但是,增加校验位也使得编码冗余增大、编码效率降低、硬件成本增加。
? ? ? ? 如果待编码数据为7位,则奇偶校验码和海明码各需要1位和5位。
? ? ? ? 如果还要求能发现两位错,则应有: