海明码

  1. 原理自行参考百度
  2. 所需知识点:异或、
    异或相同为0,不同为1,异或的符号为“xor”或者“⊕”,
    例如:1 xor 1 = 0,1 xor 0 = 1
  3. 基本公式(n为信息位, k为校验位)
    这里写代码片

  4. 举例说明
    A. 求(1101)2 的海明码
    (1) 首先求出检验的位数n = 4 k = 3
    (2) 校验位的位置2k 即, 1,2,4 … …
    (3) 信息位(D0 D1 D2 D3)与校验位(K1k2k3)
    位置 H1 H2 H3 H4 H5 H6 H7
    信息位 D0 D1 D2 D3
    检验位 K1 K2 K3
    检验位值 1 2 4
    位置 占用检验位 备注
    H1 K1 1=1
    H2 K2 2=2
    H3 K2, K1 3=2+1
    H4 K3 4=4
    H5 K3, K1 5=4+1
    H6 K3,K2 6=4+2
    H7 K3,K2,K1 7=4+2+1
    (4) 确定检验位
    规则:待校验位(H)等于检验位所有位置的加和

      H3 = K2 + K1       
      H5 = K3 + K1
      H6 = K3 + H2
      H7 = K3 + K2 + K1
    

    (5) 确定每个松位都检验了哪些数据
    K1: [ H1, H3, H5, H7] K1 = H3 xor H5 xor H7 = 1 xor 1 xor 1 = 1
    K2: [ H2, H3, H6, H7] K2 = H3 xor H6 xor H7 = 1 xor 0 xor 1 = 0
    K3: [ H4, H5, H6, H7] K3 = H5 xor H6 xor H7 = 1 xor 1 xor 1 = 0

位置 H1 H2 H3 H4 H5 H6 H7
信息位 D0 D1 D2 D3
检验位 K1 K2 K3
检验位值 1 2 4
海明码值 1 0 1 0 1 0 1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值