直观理解海明码计算(一表秒懂)

直观理解海明码校验关系(一表秒懂)

考研复习计算机网络的时候看到书上给的海明码计算流程一脸懵逼,看王道的课也是似懂非懂,后来忘了是看到哪位大佬的博客了突然悟到其中精巧,等我找到之后在这里放个链接。
and这只是个人理解啦如有不对麻烦评论区指出!求轻喷!

废话不多说直接放图(from自用学习笔记)
在这里插入图片描述
确定总位数以及校验码“座次表”的确定就不赘述啦,下面直接谈谈我一开始一脸懵的校验关系确定:

  • 生成的海明码一栏展示的是数据位+校验位后的完全体(以下统称完全体)。Xi为校验位,i是它们各自在完全体中的位序号(这样便于与校验位分布相对应);dataj是数据位,j是它们在原数据中的位序号。
  • 表的第2-4行想表达的是与i号校验位形成校验关系的bit在完全体中的位置,即:
    • 1号管理层中,深绿色块的位置 所对应的 完全体中对应位置的bit 是 与 1号校验位X1 形成校验关系的;
    • 2号管理层中,浅绿色块的位置 所对应的 完全体中对应位置的bit 是 与 2号校验位X2 形成校验关系的;
    • 4号管理层中,浅黄色块的位置 所对应的 完全体中对应位置的bit 是 与 4号校验位X4 形成校验关系的;
    • 8号管理层中,浅蓝色块的位置 所对应的 完全体中对应位置的bit 是 与 8号校验位X8 形成校验关系的;

是不是一目了然了呢?感觉我也不用再进一步解释啥了hhh

为了更方便记忆,用一句经典小品台词来概括就是 “走两步,没病走两步!”
海明码里的校验码不喜欢一直连续地走格子,而是喜欢从自己的当前位置开始(当前位置为第1格)连续走i格,跳过i格后,再!连续走i格,然后再跳i格后,再!连续走i格…直到走到终点。
(或许可以和小时候玩的跳房子结合一下?

然后校验位的计算我看到两个说法,
一个是说被该校验位管理的所有data位(只是data位!校验位不一起玩!)求异或,从而得出该校验位的值(王道书的说法);
一个是说该校验位+它负责的data位组成的小组按照偶校验的方式“组内沟通”,确定该校验位的值,
后来才发现这俩其实是同一个意思…

anyway希望我表达清楚了…有什么疑问或者不对的地方评论区见啦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值