介绍奇偶校验码、海明码
(1)奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数
1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。
(2)偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数
1000110(1)你就必须加1了这样原来有3个1要想1的个数为偶数就只能添1了。
(3)奇偶校验码的用途
①奇偶校验是用来检查数据传输的正确性的方法。奇偶校验能检测出传输数据的部分错误(1位误码能检测出,2位及2位以上检测不出来),而且不能纠错,在发现错误后,只能要求重发。由于简单所以被广泛应用。
②数据传输以前通常会确定是奇校验还是偶校验,以保证发送端和接收端采用相同的校验方法进行数据校验。假如校验位不符,则认为传输出错。
(4)校验的原理是:假如采用奇校验,发送端发送的一个字符编码(含校验位)中,“1”的个数一定为奇数个,在 接收端对接收字符二进制位中的“1”的个数进行统计,若统计出“1”的个数为偶数个,则意味着传输过程中有1位(或奇数位)发生差错。
(5)海明码
①海明码是一种设计非常精巧的校验码,由贝尔实验室设计,同时,它也是利用奇偶性来检错和纠错。
②海明码本质上仍然是利用的奇偶校验的特性,对于奇偶校验,编码数据中只能有一个校验码,其他为数据码。海明码通过插入多个校验码的方式来扩大码距,但是仍然不能违背奇偶校验的原则,也就是说一组奇偶校验编码数据中,只能包含一个校验码。这件事情非常重要。