Hamming校验码

可参考:http://winda.blog.51cto.com/55153/1068000

Hamming校验码作用:用于校验通信数据,防止出现错误,并具有一定的纠错功能。

汉明码在传输的消息流中插入验证码,当计算机存储或移动数据时,可能会产生数据位错误,以侦测并更正单一比特错误。由于汉明编码简单,它们被广泛应用于内存(RAM)。

1,获取最小校验码位数:对于有n个信息位的信息,需要k个校验位,满足:2^k-1>=n+k;使k最小即可得出n个信息位所需最小的校验码数;

2,确定校验码所在位置:共有(n+k)个位串,即校验码所在位和信息所在位;只要确定校验码,剩下的位就是信息位。校验码位在从左起的第2^k位处;

3,确定每一位校验码的值:这与其要校验的位有关,第i位的校验规则,从自身起连续校验i位,然后跳过i位,再连续校验i位,再跳过i位,...以此推理。整个校验序列中只有校验位是不确定的,最后根据是奇校验还是偶校验确定校验位的值。

4,如何校验字串:各位校验码对其所校验的位进行异或运算,若整个码字不发生差错,在偶校验下各组结果应为0,在奇校验下各组结果应为1;

5,如何纠错:由于汉明校验码是一种多重校验码,所以可以确定是哪位出错,直接对该位取反即可。

转载于:https://www.cnblogs.com/itdev/p/6618968.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值