概述
在数据的存取和传送过程中,由于外界高频的干扰、设备的间歇性故障、电源偶然的瞬变现象等原因,会发生错误。为了减少这种错误,除了提高硬件本身的可靠性外,通常是通过增加一些冗余码,使合法数据编码出现某些错误,称为非法码,来检测错误。
数据校验码
是指能够发现错误并能够自动纠正错误的数据编码,又称为“检错纠错编码”。
码距
任何一种编码都是由码字构成的,任意两个码字之间最少变化的二进制位位数,被称为“数据校验码的码距”。例如,用4位二进制数表示8个状态,其中只有8个码字是合法码字,而另外8个码字是非法码字,此时码距就为2。
数据校验码的实现原理
在编码中, 除去合法的码字外, 再加进一些非法的码字,当某个合法码字出现错误时,就会变成某个非法码字。 合理地安排非法码字的数量和编码规则,就能达到纠错的目的。
在纠错理论中 , 一个重要的公式为:

其中,L为编码的码距,C为可以纠错的位数,D为可以检错的位数。
对于码距 2的数据校验码,才开始具有检错能力。码距越大,检、纠错能力就越强,而且检错能力总是大于等于纠错能力。