海明码

作者: WangYatao | 来源:发表于2024-07-01 10:57 被阅读0次
    如何计算海明码
    • 例如计算数据1011的海明码(根据偶校验,也就是取偶数个1)
    • 先计算出最少需要几位校验位,计算公式 2^k >= k + 数据位数 + 1
    • 1011的数据位为4,那么套入公式得出校验位最小为3
    • 根据公式得出需要3个校验位,校验位的插入位置为2^0 ,2^1, 2^2
    • _ _ 1 _ 0 1 1 在第1、2、4的位置插入校验码,这时数据位和校验位总和为7,所以从1到7的二进制分别为 1(0001),2(0010),3(0011),4(0100),5(0101),6(0110),7(0111)
    • p0 校验位(检查位置 1、3、5、7 的奇偶性,为什么是1、3、5、7,因为它们的二进制从右向左的第1位都为1):
      p0 = 1⊕0⊕1 = 0
    • p1 校验位(检查位置 2、3、6、7 的奇偶性,为什么是2、3、6、7,因为它们的二进制从右向左的第2位都为1):
      p1 = 1⊕1⊕1 = 1
    • p2 校验位(检查位置 4、5、6、7 的奇偶性,为什么是4、5、6、7,因为它们的二进制从右向左的第3位都为1):
      p1 = 0⊕1⊕1 = 0

    所以1011的海明码为0110011

    相关文章

      网友评论

          本文标题:海明码

          本文链接:https://www.haomeiwen.com/subject/dvjmcjtx.html