zoukankan      html  css  js  c++  java
  • 汉明码的理解

    1. 用于验证传输二进制0101010101数据的正确性,并可以纠正1位。
    2. 例如原信息码k为10101,添加海明码k验证
    3. 利用公式2^k - 1 >= n + k求出海明码的长度k = 4(因为2^4 - 1>= 5+4 && 2^3 - 1 < 5+ 3所以需要4位校验码)
    4. 确定总长度是9位,在新编码2^(k-1)k递增位置占坑补0,确定汉明码的位置。
    5. 其余坑位,按原来顺序填充信息位。
    6. 将9位,转换为二进制,倒数第一位等于1(1,3,5,7)的数据执行异或运算,并填充到效验码第1位。
    7. 转换为二进制,倒数第二位等于1(10,11,110,111)的数据执行异或运算,并填充到效验码第2位。
    8. 转换为二进制,倒数第三位等于1(100,101,110,111,1100)的数据执行异或运算,并填充到效验码第4位。
    9. 转换为二进制,倒数第四位等于1(1000,1001,1011,1010)的数据执行异或运算,并填充到效验码第8位。
    10. 以上得到完整的汉明码。
    11. 如何效验数据的正确性?
    12. 执行以上异或运算,全部为0,则数据传输正确。0101则第5位发生错误。
  • 相关阅读:
    go第二天
    go第一天
    engish
    english
    git 生成公钥
    tp5 验证码
    css处理文本折行截断
    数组对象总结(牢记)
    全局css样式
    Flexbox 弹性盒子布局
  • 原文地址:https://www.cnblogs.com/gongjin/p/9443026.html
Copyright © 2011-2022 走看看