zoukankan      html  css  js  c++  java
  • [海明校验]速成指南

    1、对M位数据需要多少位校验码

    a)        2^k>=m+k

    b)        其中k是校验位数,m是原数据位数

    2、建立海明码

    12   11  10    9    8     7     6    5    4     3    2     1

    M8   M7  M6  M5  C8   M4  M3  M2  C4   M1  C2   C1

    括号中表示参与该位数值校验的校验码

    3=2+1(C2 C1)

    5=4+1(C4 C1)

    6=4+2(C4 C2)

    7=4+3 ..

    9=8+1 ..

    10=8+2 ..

    11=8+2+1(C8 C2 C1)

    12=8+4 ..

    按照这个规律可得:

    C1=M1 Å M2 Å M4 Å M5 Å       M7

    C2=M1 Å M3 Å     M4 Å M6 Å   M7

    C4=M2 Å M3 Å     M4 Å M8

    C8=M5 Å M6 Å     M7 Å      M8

     

    3、关于异或运算

    a)        相同为0,不同为1

    4、关于校验方法

    a)        依照原始数据(不包含校验码),根据上面的规则,计算出C8C4C2C1

    b)        依照接收到的数据(不包含校验码),根据上面的规则,计算出新的4位校验码D8D4D2D1

    c)   C8C4C2C1

        D8D4D2D1

            ----------------

        R8R4R2R1

        对CiDi使用异或运算得出Ri

    d)        Ri的值就是一共12位数中,第Ri位出错

        如Ri=0110=6,则出错的就是M3(参照开篇的一组数)

  • 相关阅读:
    学习FastDfs(三)
    学习FastDfs(二)
    学习FastDfs(一)
    学习ELK日志平台(五)
    学习ELK日志平台(四)
    学习ELK日志平台(二)
    学习ELK日志平台(一)
    并不对劲的CTS2019
    并不对劲的BJOI2019
    并不对劲的bzoj1095:p2056:[ZJOI2007]捉迷藏
  • 原文地址:https://www.cnblogs.com/imakoo/p/3489512.html
Copyright © 2011-2022 走看看