一文看懂海明校验码及其计算方法(详细总结)

网上看了好几篇文章后终于算是捋明白了,但是看到的这些资源要么说得云里雾里,要么干脆说得有问题(然后还被点了好多赞。。。),无论如何这些都容易误导小白。作为C站多年老潜水员,我还是把海明校验码的要点总结分享一下吧。

1. 海明码的特点:m+k\leq 2^k-1

其中m表示数据位的位数,k表示海明校验码的位数

k位海明校验码一共可以表示2^k种校验信息结果,其中有一种要用来表示没有出错的情况,则其余还剩2^k-1种结果,为了使校验结果可以指出任一位出错的位置,则需要满足以上不等式。

2. 举例说明:

发送端:

设要传输的数据为101101100

(1)可知m=9,由公式m+k\leq 2^k-1,可知k最小值为4,所以总共要传输的数据位数为9+4=13;

(2)海明校验码放在索引号为2^n的位(n=0,1,2,...,k-1)上,本例中k=4,所以校验位的索引为第1,2,4,8位,于是在下表中把这几位空出来

索引号

1

2

3

4

5

6

7

8

9

10

11

12

13

H1

H2

1

H4

0

1

1

H8

0

1

1

0

0

(3)列出进制转换表:

索引号</

评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值