软考之海明校验码

  我们在寄快递时,会填写一个单子,在填写完成之后自己要进行一下核对,再然后是快递员也要进行核对,这就属于一种校验,这种方式时比较简单的。而计算机系统在运行时,各个部件之间要进行数据交换,为了保证数据在传输过程中的污物,通常使用校验码的方法来检测传送的数据是否出错,常用的的方法奇偶叫研发、海明码和循环冗余校验码。现在主要讨论海明校验码

    【定义】

   海明码(Hamming Code)是利用奇偶性来检错和纠错的校验方法。海明码的构成方法是在数据位之间的确定位置插入k个校验位,通过扩大吗距来实现检错和纠错。对于数据位m的数据,加入k位的校验码, 它应满足:
 m+k+1<2^k

   【例子】

     设数据为01101001,试采用校验位求其偶校验方式的海明码。
     (1)确定数据位D和校验位P在海明码中的位置:
    由海明码编码规则可知:
             pi在海明码的第2i-1
             比如P4=2^(4-1)=8,所以位于第8位
                         

    (2)确定校验关系
         这个难点在于如何确定校验位组。
         举一个例子来说:H3=D0,海明码下标为3,我们必须用已知的校验位(P1,P2,P3,P4)来表示3,这里3就可以等于1+2。

          
       
       比如P1 的校验位为表格中红色标记出来所对应的海明码的位数
       故:P1校验:P1,D0,D1,D3,D4,D6
               P1=D0⊕D1⊕D3⊕D4⊕D6=1⊕0⊕1⊕0⊕1=1
               ⊕符号:代表异或,相同则为0,不同则为1。只要仔细一定可以计算正确。
       P2、P3、P4的海明码计算也是如此,关键是要找出正确的校验位组,所以海明校验码:011001001101

                     看完后总结:1、首先把校验位放入正确的位置(pi在海明码的第2i-1

                                         2、列出正确的检验位组

                                         3、明白异或的概念(⊕符号:代表异或,相同则为0,不同则为1


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值