什么是奇偶校验,举个例子说明下吧
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 05:37:59
什么是奇偶校验,举个例子说明下吧
什么是奇偶校验,举个例子说明下吧
什么是奇偶校验,举个例子说明下吧
奇偶校验是一种校验代码传输正确性的方法.根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验.采用奇数的称为奇校验,反之,称为偶校验.采用何种校验是事先规定好的.通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数.若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性.
与一段信息关联的冗余信息.在WindowsNTServer中,带奇偶校验的带区集意味着每行有一个附加的奇偶校验带区.因此,必须使用至少三个(而不是两个)磁盘才能考虑该附加的奇偶校验信息.奇偶校验带区包含该带区内数据的XOR(称为排它性“或”的布而操作).重新生成失败的磁盘时,WindowsNTServer将使用这些带区中与完好磁盘上数据关联的奇偶校验信息重新在失败盘上创建数据.请参阅容错;带区集;带奇偶校验的带区集 奇偶校验能够检测出信息传输过程中的部分误码(1位误码能检出,2位及2位以上误码不能检出),同时,它不能纠错.在发现错误后,只能要求重发.但由于其实现简单,仍得到了广泛使用.为了能检测和纠正内存软错误,首先出现的是内存“奇偶校验”.内存中最小的单位是比特,也称为“位”,位有只有两种状态分别以1和0来标示,每8个连续的比特叫做一个字节(byte).不带奇偶校验的内存每个字节只有8位,如果其某一位存储了错误的值,就会导致其存储的相应数据发生变化,进而导致应用程序发生错误.而奇偶校验就是在每一字节(8位)之外又增加了一位作为错误检测位.在某字节中存储数据之后,在其8个位上存储的数据是固定的,因为位只能有两种状态1或0,假设存储的数据用位标示为1、1、1、0、0、1、0、1,那么把每个位相加(1+1+1+0+0+1+0+1=5),结果是奇数.对于偶校验,校验位就定义为1,反之则为0;对于奇校验,则相反.当CPU读取存储的数据时,它会再次把前8位中存储的数据相加,计算结果是否与校验位相一致.从而一定程度上能检测出内存错误,奇偶校验只能检测出错误而无法对其进行修正,同时虽然双位同时发生错误的概率相当低,但奇偶校验却无法检测出双位错误.
编辑本段范例
串行数据在传输过程中,由于干扰可能引起信息的出错,例如,传输字符‘E’,其各位为:0100,0101=45H D7 D0 由于干扰,可能使位变为1,(为什么不变0?)这种情况,我们称为出现了“误码”.我们把如何发现传输中的错误,叫“检错”.发现错误后,如何消除错误,叫“纠错”.最简单的检错方法是“奇偶校验”,即在传送字符的各位之外,再传送1位奇/偶校验位.可采用奇校验或偶校验.奇校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如:1 0110,0101 0 0110,0001 偶校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为偶数,如:1 0100,0101 0 0100,0001 奇偶校验能够检测出信息传输过程中的部分误码(1位误码能检出,2位及2位以上误码不能检出),同时,它不能纠错.在发现错误后,只能要求重发.但由于其实现简单,仍得到了广泛使用.有些检错方法,具有自动纠错能力.如循环冗余码(CRC)检错等.
校验方法
奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数 1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个.偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数 1000110(1)你就必须加1了这样原来有3个1要想1的个数为偶数就只能添1了.
编辑本段双向奇偶校验
为了提高奇偶校验的检错能力,可采用双向奇偶校验(Row and Column Parity),也可称为双向冗余校验(Vertical and Longitudinal Redundancy Checks).双向奇偶校验,又称“方块校验”或“垂直水平”校验.例:1010101× 1010111× 1110100× 0101110× 1101001× 0011010× ××××××× “×”表示 奇偶校验 所采用的奇校验或偶校验的校验码.如此,对于每个数的关注就由以前的1×7次增加到了7×7次.因此,比单项校验的校验能力更强.简单的校验数据的正确性,在计算机里都是010101二进制表示,每个字节有八位二进制,最后一位为校验码,奇校验测算前七位里1的个数合的奇偶性,偶校验测算前七位里0的个数的奇偶性.当数据里其中一位变了,得到的奇偶性就变了,接收数据方就会要求发送方重新传数据.奇偶校验只可以简单判断数据的正确性,从原理上可看出当一位出错,可以准确判断,如同时两个1变成两个0就校验不出来了,只是两位或更多位及校验码在传输过程中出错的概率比较低,奇偶校验可以用的要求比较低的应用下.