奇偶校验 :是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。 

ios 判断奇偶 判断奇偶性的流程图_java

 奇偶校验位是一个表示给定位数的二进制数中1的个数是奇数或者偶数的二进制数,奇偶校验位是最简单的错误检测码。如果传输过程中包括校验位在内的奇数个数据位发生改变,那么奇偶校验位将出错表示传输过程有错误发生。因此,奇偶校验位是一种错误检测码,但是由于没有办法确定哪一位出错,所以它不能进行错误校正。发生错误时必须扔掉全部的数据,然后从头开始传输数据。在噪声很多的媒介上成功传输数据可能要花费很长的时间,甚至根本无法实现。但是奇偶校验位也有它的优点,它是使用一位数据能够达到的最好的校验码,并且它仅仅需要一些异或门就能够生成。奇偶校验被广泛应用。校验的原理:假如采用奇校验,发送端发送的一个字符编码(含校验位)中,“1”的个数一定为奇数个,在  接收端对接收字符二进制位中的“1”的个数进行统计,若统计出“1”的个数为偶数个,则意味着传输过程中有1位(或奇数位)发生差错。事实上,在传输中偶尔—位出错的机会最多,故奇偶校验法常常采用。

ios 判断奇偶 判断奇偶性的流程图_接收端_02

海明码

海明码是一种可以纠正一位差错的编码。它是利用在信息位为k位,增加r位冗余位,构成一个n=k+r位的码字,然后用r个监督关系式产生的r个校正因子来区分无错和在码字中的n个不同位置的一位错。它必需满足以下关系式: 2^r ≥ k+r+1 或 2^r ≥ n+1 海明码的编码效率为: R=k/(k+r) 式中 k为信息位位数 r为增加冗余位位数。                                                               1原理简介                                                              在数据中间加入几个校验码,码距均匀拉大,将数据的每个二进制位分配在几个奇偶校验组里,当某一位出错,会引起几个校验位的值发生变化。                                                                  ①海明不等式:校验码个数为K,2个信息,1个信息用来指出“没有错误”,其余2-1个指出错误发生在那一位,但也可能是校验位错误,故有N<=2-1-K能被校验。                                            ②海明码的编码规则:                                              a .每个校验位Ri被分配在海明码的第2的i次方的位置上。                                                            b.海明码的每一位(Hi)是由多个/1个校验值进行校验的,被校验码的位置码是所有校验这位的校验位位置码之和。                                      2 校验方法
如果一条信息中包含更多用于纠错的位,且通过妥善安排这些纠错位使得不同的出错位产生不同的错误结果,那么我们就可以找出出错位了。在一个7位的信息中,单个位出错有7种可能,因此3个错误控制位就足以确定是否出错及哪一位出错了。