奇偶校验码

本文详细解释了奇偶校验码的工作原理及其在操作系统中的作用,包括其如何帮助检测数据读写错误,以及如何通过奇偶校验位确保数据的正确性和完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看操作系统时,“当主存的奇偶校验装置发现主存读写错误时”,表示不懂什么是“奇偶校验”,

以下来自http://www.elecfans.com/dianzichangshi/2009101396337.html


奇偶校验码是一种开销最小,能发现数据代码中一位出错情况的编码,常用于存储器读写检查,或ASCII字符、其它类型信息传送过程中的出错检查。它的实现原理,是使原来合法编码码距由1增加到2。若合法编码中有一个二进制位的值出错了,由1变成0,或由0变成1,这个码必将成为非法编码。实现的具体方法,通常是为一个字节补充一个二进制位,称为校验位,通过设置校验位的值为0或1的方式,使字节自身的8位和该校验位含有1值的位数一定为奇数或偶数。在使用奇数个1的方案进行校验时,称为奇校验,反之则称为偶校验。依据八位的数据位中为1值的个数确定校验位的值,是由专设的线路实现的。例如,当要把一个字节的值写进主存时,首先用此电路形成校验位的值,然后将这9位的代码作为合法数据编码写进主存。当下一次读出这一代码时,再用相应线路检测读出9位码的合法性。若在主存写进、存储、或读出的过程中,某一个二进制位上出现错误,得到的9位码必变成非法编码,从而发现一定是哪一位上出现了错误。这种方案只能发现一位错或奇数个位出错,但不能确定是哪一位错,也不能发现偶数个位出错。考虑到,一位出错的概率比多位同时出错的概率高得多,该方案还是有很好的实用价值。

  下面给出对几个字节值的奇偶校验的编码结果:

    数据    奇校验的编码   偶校验的编码
   00000000    100000000     000000000
   01010100    001010100     101010100
   01111111    001111111     101111111
   11111111    111111111     011111111

  该例子中,码字的最高一位为校验位,其余低八位为数据位。从中可以看到,校验位的值取0还是1,是由数据位中1的个数、是奇校验还是偶校验方案共同决定的。


(表示还是不太懂,先粘这么多再说)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值