1.2.2 数据校验码

校验码的作用

校验码可以用于检查传输的信息中是否存在错误、对错误进行纠正。能够被校验的数据,码距必须大于1,否则数据中任何一位发生变化,都会变成另外一个合法的编码。
在这里插入图片描述

每种校验码都有3个需要重点关注的地方:

1. 校验码在数据中所处的位置
2. 校验码的数值
3. 校验后如何判断传递的信息是否有误

奇偶校验码

在这里插入图片描述
奇偶校验码是通过奇偶性对传输数据的正确性做判断的。从校验码在信息中所处的位置,可以将其分为水平奇偶校验、垂直奇偶校验、水平垂直奇偶校验。校验码的数值确定方式,是要能在增加校验位之后,让编码中1的个数都变成奇数(奇校验),或者让编码中的1的个数都变成偶数(偶校验)。加上校验位,数据传输过程中,通过编码中数据1的个数是奇数、还是偶数,判断信息是否存在错误。奇偶校验码的缺点是,只能检查出奇数个位置出错的编码,且无法定位错误发生的位置。

海明码

在这里插入图片描述
海明码也是利用奇偶性校验错误,其优势是不但能检查出错误,还能确定错误发生的位置。发明这个的人好聪明,虽然我不知道海明码为何可以做到这一点。如图中所示,对数据位的每个数据,判断其需要哪些校验位进行校验。就可以得到计算校验码数值的公式。例如,计算P1的公式为
在这里插入图片描述
信息传输后,使用P1与D0,D1,D3,D4,D6再做异或,得到P1的校验结果G1。同样,可以得到P2,P3, P4的校验结果G2,G3,G4。偶校验为例,当G4G3G2G1全为0时,表示信息正确。否则,其表示的十进制值指出海明码中发生错误的位置。

循环冗余校验

在这里插入图片描述
循环冗余校验常用在通信和存储领域。这块没有详细了解,大致的做法如图中所示,如有错误,欢迎纠正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

️Carrie爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值