一、概念
奇偶校验是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。
二、工作原理
内存的最小单位是比特(bit),8个连续的bit叫做一个字节(byte)。不带奇偶校验的内存的每个字节有8位,如果其中一位数据存储错误则会导致程序发生错误。奇偶校验位就是为了检测数据传输是否正确,工作原理是假设在进行数据存储时,这8个bit存储的数据为11100101,8位中有5个1,结果为奇数个。对于偶校验,校验位就定义为1,这样9位数据1的个数就是偶数个。。当CPU读取存储的数据时,就会统计这9位数据验证1的个数是否为偶数个,若为偶数个则数据传输正确。
三、缺点与优点
缺点:
- 奇偶校验无法检测出双位出错,不过双位同时发生错误的概率极低。
- 奇偶验证数据出错时无法对其进行修正,只能扔掉全部数据从头重新传输
优点:
- 它是使用一位数据能够达到的最好的校验码,并且它仅仅需要一些异或门就能够生成。奇偶校验被广泛应用。