计算机组成原理:海明校验

在上图中,对绿色的7比特数据进行海明校验,需要添加紫色的4比特校验位,总共是蓝色的11比特。紫色的校验位p~i~分布于蓝色的h~i~的1, 2, 4, 8, 16, 32, 64位,是2^i-1^位。绿色的数据位b~i~分布于剩下的位。

在下图中,b1位于h3,3=2+1

b2位于h5,5=4+1

......

b7位于h11,11=8+2+1

然后竖着看,p4上边有3个8,分别对应b5, b6, b7,p4的值等于这三位的偶校验的结果。

......

p1上边有5个1,p1的值等于对b1, b2, b4, b5, b7的偶校验的结果。

算出p4p3p2p1后,按上图的位置代入h~i~,校验完成。

然后,接收方拿到h~i~,计算g~i~,计算方法看下图。g4上边有3个8和1个p4,3个8对应b5, b6, b7,g4的值等于对b5, b6, b7, p4求偶校验的结果。

......

计算了g4g3g2g1后,发现它的值等于0000,这表示没有错误。若值为1001,即十进制的9,这表明h9出错。

以上是不出错,或只有1比特出错的情况。实际上,当同时有多个比特出错时,即使G=0000,也不能保证不出错;G=1001,不能保证一定是h9出错了。

实践中,用11比特h~i~,再加上1比特偶校验位,来增强校验效果。

相关推荐
muyierfly5 分钟前
DAY19-力扣刷题
数据结构·算法·leetcode
小梁不秃捏41 分钟前
科比老大职业生涯数据预测(基于随机森林模型)
算法·随机森林·机器学习
科技之歌1 小时前
Leetcode 115 不同的子序列
算法·leetcode·职场和发展
斯择微韵1 小时前
力扣习题--哈沙德数
算法·leetcode·职场和发展
Neituijunsir1 小时前
2024.06.27 校招 实习 内推 面经
c++·算法·面试·车载系统·自动驾驶·汽车·求职招聘
DisonTangor1 小时前
新纪录将圆周率计算到了小数点后202万亿位 用了28块61.44TB SSD
算法·链表·数学建模
计算机周老师1 小时前
java-arraylist 源码分析 1
java·python·算法
danaaaa1 小时前
算法力扣刷题 三十一【150. 逆波兰表达式求值】
数据结构·c++·算法·leetcode·职场和发展
✿ ༺ ོIT技术༻2 小时前
算法思想总结:优先级队列
算法·leetcode·优先级队列
等风来随风飘2 小时前
华为机试HJ11数字颠倒
算法·华为