奇偶校验法的奇偶校验法
奇偶校验法是一种很简朴并且广泛使用的校验方法。
这种方法是在每一字节中加上一个奇偶校验位,并被传输,即每个字节发送九位数据。
数据传输以前通常会确定是奇校验还是偶校验,以保证发送端和接收端采用相同的校验方法进行数据校验。
假如校验位不符,则认为传输出错。
奇校验是在每个字节后增加一个附加位,使得“1”的总数为奇数。
奇校验时,校验位按如下规则设定:假如每字节的数据位中“1”的个数为奇数,则校验位为“0”;若为偶数,则校验位为“1”。
奇校验通常用于同步传输。
而偶校验是在每个字节后增加一个附加位,使得“1”的总数为偶数。
偶校验时,校验位按如下规则设定:假如每字节的数据位中“1”的个数为奇数,则校验位为“1”;若为偶数,则校验位为“0”。
偶校验常用于异步传输或低速传输。
校验的原理是:假如采用奇校验,发送端发送的一个字符编码(含校验位)中,“1”的个数一定为奇数个,在接收端对接收字符二进制位中的“1”的个数进行统计,若统计出“1”的个数为偶数个,则意味着传输过程中有1位(或奇数位)发生差错。
事实上,在传输中偶尔—位出错的机会最多,故奇偶校验法常常采用。
然而,奇偶校验法并不是一种安全的检错方法,其识别错误的能力较低。
假如发生错误的位数为奇数,那么错误可以被识别,而当发生错误的位数为偶数时,错误就无法被识别了,这是因为错误互相抵消了。
数位的错误,以及大多数涉及偶数个位的错误都有可能检测不出来。
它的缺点在于:当某一数据分段中的一个或者多位被破坏时,并且在下一个数据分段中具有相反值的对应位也被破坏,那么这些列的和将不变,因此接收方不可能检测到错误。
常用的奇偶校验法为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验。