奇偶校验
奇偶校验是最简单的数据校验码,在计组时已经学过,它可以检测出一位数据出错或者奇数位数据出错,缺点就是不能确定出错的位置和不能检测出偶数位数据出错。但是在实际数据传输中,一位数据出错的概率比同时多位出错的概率要高,故而奇偶校验码的检错能力低,但还是在实际中广泛应用。
一些概念:
奇偶校验码:在若干有效信息数据位后面加上一位二进制位作为校验位,这样组成了奇偶校验码。
码距:简单来说就是两个二进制数比较,在同一数位的地方,数位值不同的个数有多少个
两种计算码距的方法
比如0100和1111直接观察法:
可以看出,有3个数位值不同,所以码距为3.异或计算法:
0100⊕1111=1011 ,结果为1011,里面有几个1就代表有多少个数位值不同,即码距是多少,这里码距是3。
怎么计算:(这里以奇校验为例,偶校验即将校验码置为0)
- 假设我们的原始编码是10110111,因为我们规定计算机采用奇校验,所以我们在原编码最左边多加了一个校验位,并置为1,那么原编码就变成了奇校验码,有奇数(7)个1。
- 传输过程中奇数个数据改变:在传输过程中有奇数个数位值发生了改变,那么我们通过奇校验运算,可以发现现在变成了6个1,和奇校验码相比有3个数位值发生了改变,奇校验码不再有奇数个1,而是变成了偶数个1,可以判断我们的数据发生了改变,可以检查出错误。
- 传输过程中有偶数个数据改变:在传输过程中有偶数个数位值发生了改变,那么我们通过奇