海明码详解
海明码的计算(精)

海明码的计算(精)海明码的计算:码距:是不同码字的海明距离的最小值。
(1)可查出多少位错误:可以发现“≤码距-1”位的错误(2)可以纠正多少位错误:可以纠正“<码距/2”位的错误,因此如果要能纠正n位错误,则所需最小的码距是:2n+1。
计算:海明码是放置在2的幂次位上的即1,2,4,8,16,32,而对于信息位为m的原始数据,需加入k位的校验码,它满足m+k+1<.海明码的求法:一、有一种简单的方法,则是从第1位开始,遇到校验位留下空格。
如原始信息为101101100,并采用偶校验:1011011001 2 3 4 5 6 7 8 9 10 11 12 13二、然后概据以下公式填充校验位:1,2,4,8B1=B3⊕B5⊕B7⊕B9⊕B11⊕B13=1⊕0⊕1⊕0⊕1⊕0=1B2=B3⊕B6⊕B7⊕B10⊕B11=1⊕1⊕1⊕1⊕1=1B4=B5⊕B6⊕B7⊕B12⊕B13=0⊕1⊕1⊕0⊕0=0B8=B9⊕B10⊕B11⊕B12⊕B13=0⊕1⊕1⊕0⊕0=0三、最后将结果填入,得到结果:11100110011001 2 3 4 5 6 7 8 9 10 11 12 13海明码的纠错:如下给出一个加入了校验码的的信息,并说明有一位的错误,要找出错误位:11100110010001 2 3 4 5 6 7 8 9 10 11 12 13将B1,B2,B4,B8代入上式的公式中:B1=B1⊕B3⊕B5⊕B7⊕B9⊕B11⊕B13=1⊕1⊕0⊕1⊕0⊕0⊕0=1 B2=B2⊕B3⊕B6⊕B7⊕B10⊕B11=1⊕1⊕1⊕1⊕1⊕0=1B4=B4⊕B5⊕B6⊕B7⊕B12⊕B13=0⊕0⊕1⊕1⊕0⊕0=0B8=B8⊕B9⊕B10⊕B11⊕B12⊕B13=0⊕0⊕1⊕0⊕0⊕0=1然后从高位往下写,B8+B4+B2+B1=1011=11(十进制)即11位出错。
海明校验码

• 依次类推,便可确定每组所包含的各位。
例如:欲传递信息为b4b3b2b1(n=4),根据 2k≥n+k+1,可求出配置成海明码需增添检测位 k=3,且它们位置的安排如下:
二进制序号 1 2 3 4 5 6 7
名称
C1 C2 b4 C4 b3 b2 b1
如果按照配偶原则来配置海明码,则
C1 应使1,3,5,7位中的“1”的个数为偶数;
• 故0101的海明码应为:C1 C2 b4 C4 b3 b2 b1,即0100101。
三、海明码的纠错过程
• 海明码的纠错过程,实际上是对传送后的海明 码形成新的检测位Pi(i=1,2,4,8……),根据Pi 的状态,便可直接指出错误的位置。Pi的状态是 由原检测位Ci及其所在小组内“1”的个数确定的。 倘若按配偶原则配置的海明码,其传送后形成 新的检测位Pi应为0,否则说明传送有错,并且 还可以直接指出出错的位置。由于Pi和Ci有其对 应关系,故Pi可由下式确定:
• 设n+k位代码自左至右依次编为第1,2, 3,…...,n+k位,而将k位检测位记为Ci(i=1, 2,4,8……),分别安插在n+k位代码编号的 第1,2,4,8,……2k-1位上。这些检测位的位 置设置,是为了保证它们能分别承担n+k位信息 中,不同数位所组成的“小组”的奇偶检查任 务,使检测位和它所负责检测的小组中1的个数 为奇数或为偶数,具体分配如下:
C2 应使2,3,6,7位中的“1”的个数为偶数;
C4 应使4,5,6,7位中的“1”的个数为偶数;
故 C1应为3位⊕5位⊕7位,即C1=b4⊕b3⊕b1;
C2应为3位⊕6位⊕7位,即C2=b4⊕b2⊕b1;
C4应为5位⊕6位⊕7位,即C4=b3⊕b2⊕b1;
海明码,汉明码,hamming

海明码,汉明码,hamming code--计算法则最近最海明码很感兴趣,查了些资料,有⼀篇资料极好,所以贴出来,希望供有需求的⼈能有个参考。
1 海明码原理概述 海明码是R. Hamming提出的, ⼀种可以纠正⼀位错的差错控制编码。
了解海明码之前, 先回顾⼀下简单的奇偶校验码的情况。
若信息位为K=n- 1位, 表⽰为a1~an- 1, 加上⼀位偶校验位(冗余位)a0, 构成⼀个n位的码字a0~an- 1, 在接收端校验时, 可按关系式: s=a0+a1+a2+…an- 1来计算, 若S=0, 则⽆错, 若S=1, 则有错。
上式可称为监督关系式, S称为校正因⼦。
在奇偶校验情况下, 只有⼀个监督关系式和⼀个校正因⼦, 其取值只有两种(0或1),分别代表了⽆错和有错的情况, ⽽不能指出差错所在的位置。
不难想象, 若增加冗余位, 也相应地增加监督关系式和校正因⼦, 就能区分更多的情况。
如, 若有两个校正因⼦, 则其取值就有4种可能: 00、01、10或11, 就能区分4种不同情况。
若其中⼀种表⽰⽆错, 另外三种不但可以⽤来指出有错, 还可以⽤来区分错误的情况, 如指出是哪⼀位错等。
⼀般⽽⾔, 信息位为K位, 增加r位冗余位, 构成n=k+ r位码字。
若希望⽤r个监督关系式产⽣的r个校正因⼦来区分⽆错和在码字中的n个不同位置的⼀位错, 则表⽰:或。
2 构造海明码的冗余位和监督关系式的⽅法 按上述设计思路, 为了叙述清楚, 下⾯以信息位K=7来讨论海明码的冗余位和监督关系式的具体构造过程和⽅法。
因为且k=7, 所以≥4, 即⾄少需要4位冗余位(对应产⽣4个校正因⼦和4个监督关系式), 形成24=16种不同取值, ⽤其中11种分别表⽰⽆错和a0~a10中⼀位错的情况。
构造表如表1: 冗余码如下: a0=a8+a9+a10 (1) a1=a5+a6+a7 (2) a2=a4+a6+a7+a9 (3) a3=a4+a5+a7+a8+a10 (4) 监督关系式如下: s0=a0+a8+a9+a10 (5) s1=a1+a5+a6+a7 (6) s2=a2+a4+a6+a7+a9 (7) s3=a3+a4+a5+a7+a8 (8)3 构造校正因⼦和监督关系式时应遵循的原则 上表1中, 构造4个校正因⼦和4个监督关系式的过程中, 为了体现前⾯所述设计思想,应遵循如下原则: 图1中共有11列, 每⼀列应保证各不相同, 即s0 s1 s2 s3 的16种组合中, 取“0000”组合表⽰⽆错, 剩下15种中取其中11种⽤来表⽰a0~a10中某⼀位出错的情况, 所以,下表2有错, 因为a5 和a7 两列均为“0111”。
海明码详解(精)

海明码详解这两天也在研究海明码的问题,把我的理解说给你吧,按照我说的可以顺利得到海明码步骤:一、确定校验码的位数k二、确定校验码的位置三、数据的位置四、求出校验位的值首先,海明码的作用是:在编码中如果有错误,可以表达出第几位出了错,二进制的数据只有0和1,修改起来很容易,求反即可,这需要加入几个校验位。
重要的知识点:海明码的组成,不是简单的在后面加上校验位,海明码≠数据位+检验位那检验位该怎么加呢?它是根据总的位置来加的,加在【2的几次幂】的位置上,这个位置不是我们通常的从右向左数位置,刚好相反,是从左右如下图:P是校验位, D是数据位:原始的数据是:101101 校验位是插到了 1 2 4 8这几个位置上的。
位置M1M2M3M4M5M6M7M8M9M10甲P1 P2 D1P3 D2D3D4P4 D5D6乙10 110 1步骤一、确定校验码的位数k公式:m+k+1≤2^k (m是数据位的位数,K是要加的校验位的位数数据长是4位,校验码就是3位4+k+1≤2^kK最小只能是3数据长是5,6,7,8,9,校验码就是4位5+k+1≤2^kK最小就只能取4101101 数据位是6位,那校验位应该是4位,那总位数是:6+4=10位步骤二、确定校验码的位置位置M1M2M3M4M5M6M7M8M9M10甲P1 P2 D1P3 D2D3D4P4 D5D6乙10 110 1(图1)注意:【位置是从左----------右编码】(网上好多都反了,都是从右往左的,这应该是错的)校验位就插在2的幂次方的位置上。
4个检验位就是插到,2的0次方=1,2的1次方=2,2的2次方=4,2的3次方=8的位置上。
始上(图1)步骤三、数据的位置数据位置就按顺序写入进去就OK了,不要写到校验位就是的了。
步骤四、求出校验位的值也就是求图1中:p1 p2 p3 p4 的值。
那这几个数该如何求值呢?这里就要引进一个线性码的概念了,就是这4位校验码和图1中的那些位置上的数有关系呢?这里有一个进制转换的问题要先解决:因为是4位校验码,所以我们可以s4 s3 s2 s1 这个数来表示这个4位校验码,也就是p4 p3 p2 p1M1号位是十进制的1 转成四位二进制数就是:0001 即M1 和s1有关系同样的道理M2 变成四位二进制数: 0010 0010----s4 s3 s2 s1 s2的位置上是1 ,所以M2和S2有关系。
海明码

r 1 = I 0 + I 2 + I 3 + I 5 + I6 = 1 + 0 + 1 + 0 + 0 = 0
r2 = I1 + I2 + I3 = 0 +0 +1 = 1 r3 = I4 + I5 + I6 = 0 + 0 + 0 = 0
• 海明码为0011001000: r0 r1 I0 r2 I1 I2 I3 r3 I4 I5 I6
2.1 海明码
• 海明码是一种可以纠正一比特错误的编码。
• 基本设计思想:
–编码:在k比特信息上附加r比特的校验位,构成n=k+r 比特的码字,其中每个校验比特和某几个特定的信息比 特构成偶校验的关系。 –检验:接收端检验r个偶校验关系,即将每个校验比特 和与它关联的信息比特相加(异或),相加结果称为校 正因子。若r个校正因子全为0,认为没有错误;否则, 校正因子指出发生错误的比特位。
如何检测与纠正错误?
• 码字(codeword):由m比特的数据(消息)加上r比特的 冗余(校验位)构成。 • 有效编码集:由2m个(符合编码规则的)有效码字组成。 • 检错:当收到的码字为无效码字时,称检测出错误。 • 海明距离(Hamming Distance):两个码字的对应位上取 值不同的位数。 • 纠错:将收到的无效码字纠正到距其最近的有效码字。 • 检错码与纠错码的能力都是有限的。
校验比特的位数
• 为利用 r 个校正因子区分无差错和码字中n 个不同位置的一比特错(共n+1种情况), 校验比特的位数 r 应满足: 2r ≥ n + 1 = k + r + 1 • 比如:7-4海明码,11-7海明码。
海明码

1.海明码的概念海明码是一种可以纠正一位差错的编码。
它是利用在信息位为k位,增加r位冗余位,构成一个n=k+r位的码字,然后用r个监督关系式产生的r个校正因子来区分无错和在码字中的n个不同位置的一位错。
它必需满足以下关系式:2^r>=n+1 或2^r>=k+r+1海明码的编码效率为:R=k/(k+r)式中k为信息位位数r为增加冗余位位数[font class="Apple-style-span" style="font-weight: bold;"id="bks_cu2htj1g"]2.[/font][font class="Apple-style-span" style="font-family: ����; font-size: 12px; line-height: normal; " id="bks_4dxtg15k"][font]海明码的原理[/font]在数据中间加入几个校验码,将玛距均匀拉大,将数据的每个二进制位分配在几个奇偶校验组里,当某一位出错,会引起几个校验位的值发生变化。
海明不等式:校验码个数为K,2的K次幂个信息,1个信息用来指出“没有错误”,其余2K-1个指出错误发生在那一位,但也可能是校验位错误,故有N<=2的K次-1-K能被校验。
海明码的编码规则:1.每个校验位Ri被分配在海明码的第2的i次的位置上,2.海明玛的每一位(Hi)是由多个/1个校验值进行校验的,被校验玛的位置玛是所有校验这位的校验位位置玛之和。
一个例题:4个数据位d0,d1,d2,d3, 3个校验位r0,r1,r2,对应的位置为:d3 d2 d1 r2 d0 r1 r0 ======b7 b6 b5 b4 b3 b2 b1校验位的取值,就是他所能校验的数据位的异或b1为b3,b5,b7的异或,b2为b3,b6,b7 b4为b5,b6,b7 [/font][font class="Apple-style-span" style="font-family: ����; font-size: 12px; line-height: normal; " id="bks_4dxtg15k"]海明玛传送到接受方后,将上三式的右边(b1,b2,b4)的逻辑表达式分别异或上左边的值就得到了校验方程,如果上题采用偶校验G1=b1 b3 b5 b7的异或G2=b2 b3 b6 b7的异或G3=b4 b5 b6 b7的异或若G1G2G3为001是第四位错若为011是第六位错[/font][font class="Apple-style-span" style="font-family: ����; font-size: 12px; line-height: normal;"] [/font]3.海明码的生成与接收特注:以下的+均代表异或方法一:1)海明码的生成。
海明码编码计算、检错和纠错原理解析

海明码编码计算、检错和纠错原理解析一、海明码检错/纠错基本思想海明码(Hamming Code)是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以也仅用于信道特性比较好的环境中,如以太局域网。
它的检错、纠错基本思想如下:(1)将有效信息按某种规律分成若干组,每组安排一个校验位通过异或运算进行校验,得出具体的校验码(2)在接收端同样通过异或运算看各组校验结果是否正确,并观察出错的校校组,或者多个出错的校验组的共同校验位,得出具体的出错比特位(3)对错误位取反来将其纠正二、海明码计算海明码计算要按以下步骤来进行:计算校验码位数→确定校验码位置→确定校验码1. 计算校验码位数假设用N表示添加了校验码位后整个传输信息的二进制位数,用K代表其中有效信息位数,r表示添加的校验码位数,它们之间的关系应满足:N=K+r≤2r-1(是为了确保r位校验码能校验全部的数据位,因为r位校验码所能表示的最大十进制数为2r-1,同时也确保各位码本身不被其他校验码校验)信息码位数12~45~1112~2627~5758~120121~247校验码位数2 3 4 5 6 7 82. 确定校验码位置海明码的校验码的位置必须是在2n次方位置(n从0 开始,分别代表从左边数起分别是第1、2、4、8、16……),信息码也就是在非2n次方位置3. 确定校验码校验位置选择原则:第i位校验码从当前校验码位开始,每次连续校验i位后再跳过i位,然后再连续校验i位,再跳过i位,以此类推。
确定每个校验码所校验的比特位:P1校验码位校验的码字位为:第1位(也就是P1本身)、第3位、第5位、第7位、第9位、第11位、第13位、第15位,……。
P2校验码位校验的码字位为:第2位(也就是P2本身)、第3位,第6位、第7位,第10位、第11位,第14位、第15位,……。
P3校验码位校验的码字位为:第4位(也就是P4本身)、第5位、第6位、第7位,第12位、第13位、第14位、第15位,第20位、第21位、第22位、第23位,……。
海明码最通俗易懂的讲解

M1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 M 9 M10
甲 P1
P2
P3
P4
③ 确定数据的位置 这个很简单,除了校验码的位置其余的就是数据的位置,填充进去就可以了,于是可以
把数据信息先填进去,见“乙”行,下面就是最关键的部分,求出校验位的值啦!!!
M1 甲 P1
乙
M2 M3
P2
D1
1
M4 M5 M6 M7
P3
D2
D3
D4
0
1
1
M 8 M 9 M10
P4
D5
D6
0
1
④ 求出校位的值 这个公式不是难,99%左右的考生都能看懂海明码的求解过程,但是真正能够过目不忘
的相信就是极少数了,很多考生在论坛抱怨躺在床上眼睛一闭,一睁,就忘记了一半。眼睛
再一闭,一睁,基本上就等于没有看了。与其这样,倒不如考前几天突击一下。其实完全没
e1 M1 M 3 M 5 M 7 M 9 = 0 1 1 1 0 = 1 e2 M2 M 3 M 6 M 7 M10 =0 1 1 1 1 = 0 e3 M4 M 5 M 6 M 7 =0 1 1 1 = 1 e4 M8 M 9 M10 = 1 0 1 = 0 按照 e4、e3、e2、e1的排序方式得到的二进制序列为:0101,恰好对应十进制 5,是不
M1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 M 9 M10
甲 P1
P2
D1
P3
D2
D3
D4
P4
D5
D6
乙0
0
1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
海明码详解
①海明校验的基本思想
将有效信息按某种规律分成若干组,每组安排一个校验位,做奇偶测试,就能提供多位检错信息,以指出最大可能是哪位出错,从而将其纠正。
实质上,海明校验是一种多重校验。
②海明校验的特点
它不仅具有检测错误的能力,同时还具有给出错误所在准确位置的能力。
一.校验位的位数校验位的位数与有效信息的长度有关
设:N--为校验码的位数 K--是有效信息位 r--校验位(分成r组作奇偶校验,能产生r位检错信息)
海明码应满足 N=K+r≤2r-1 若r=3 则N=K+r≤7 所以K≤4
二.分组原则`
在海明码中,位号数(1、2、3、……、n)为2的权值的那些位,即:
1(20)、2(21)、 4(22)、8(23)、…2r-1位,作为奇偶校验位
并记作: P1、P2、P3 、P4、…Pr,余下各位则为有效信息位。
例如: N=11 K=7 r=4 相应海明码可示意为
位号 1 2 3 4 5 6 7 8 9 10 11
P占位P1 P2 × P3 × × × P4 × × ×
其中×均为有效信息,海明码中的每一位分别被P1P2P3P4… Pr 中的一至若干位所校验,其规律是:
第i位由校验位位号之和等于i的那些校验位所校验
如:海明码的位号为3,它被P1P2(位号分别为1,2)所校验
海明码的位号为5,它被P1P3(位号分别为 1,4)所校验
归并起来: 形成了4个小组,每个小组一个校验位,校验位的取值,仍采用奇偶校验方式确定。
如表2·6 、表2·7所示:
三.编码、查错、纠错原理
以4位有效信息(b1、b2、b3、b4)和3位校验位(P1、P2、P3)为例: K=4 r=3 海明序号 1 2 3 4 5 6 7
海明码 P1 P2 b1 P3 b2 b3 b4
根据表2-8可以看到
(1)每个小组只有一位校验位,第一组是P1、第二组是P2、第三组是P3。
(2)每个校验位校验着它本身和它后面的一些确定位。
1.编码原理(采用偶校验)
1)若有效信息b1b2b3b4=1011 先将它们分别填入第3、5、6、7位
2)再分组进行奇偶统计,分别填入校验位P1、P2、P3的值
如:第一组有:P1b1b2b4 因b1b2b4含偶数个1,故P1应取值为0
第二组有:P2b1b3b4因b1b3b4含奇数个1,故P2应取值为1
第三组有:P3b2b3b4 因b2b3b4含偶数个1,故P3应取值为0
海明编码为:P1P2b1P3b2b3b4=0110011
2.查错与纠错
因为分三组校验,每组产生一位检错信息、3组共3位检错信息,便构成一个指误字,上例指误字由G1G2G3组成。
其中:
G3=P3⊕b2⊕b3⊕b4 P3b2b3b4=0011
G2=P2⊕b1⊕b3⊕b4 P2b1b3b4=1111
G1=P1⊕b1⊕b2⊕b4 P1b1b2b4=0101
采用偶校验,在没有出错情况下G1G2G3=000。
由于在分组时,就确定了每一位参加校验的组别,所以指误字能准确地指出错误所在位。
如:若第3位b1出错,由于b1参加了第一组和第二组的校验,必然破坏了第一组和第二组的偶性,从而使G1和G2为1。
因为b1未参加第三组校验,故G3=0,所以构成的指误字G3G2G1=011它指出第3位出错。
反之:若G3G2G1=111 则说明海明码第7位b4出错。
因为只有第7位b4参加了3个小组的校验,破坏了三个小组的偶性。
假定:
源部件发送海明码为:0110011 接收端接收海明码为:0110011
则: 三个小组都满足偶校验要求,这时G3G2G1=000,表明收到信息正确,可以从中提出有效信息1011参与运算处理。
纠错:若接收端收到的海明码为0110111,分组检测后指误字G3G2G1=101,它指出第5位出错,则只须将第5位变反,就可还原成正确的数码0110011。
正文字体大小:大中小
海明码和CRC编码
(2009-04-17 22:03:44)
转载▼
标签:
分类:软件设计
海明码
原码
校验码
报文
it
一、CRC编码
1、已知多项式和原报文,求CRC编码,如:使用多项式G(x)=x^5 + x^4 + x +1,对报文10100110进行CRC编码,则编码后的报文是什么?
方法与步骤:
步骤1:对报文10100110,在末尾添加所给多项式的最高次阶个0,如本题为x^5,则添加5个0,变为:1010011000000。
步骤2:由多项式G(x)=x^5 + x^4 + x +1,得其阶数为1的二进制编码为:110011。
步骤3:步骤1中求得的1010011000000对步骤2中求得的110011进行模二除法,所得到的余数即为校验码,把校验码添加在原报文尾部即为所求的编码报文1010011011000,具体如下:
2.已知道接收到的CRC编码,求原编码或判断是否出错,如:已知G(x)=x^5 + x^4 + x +1,接收的为1010011011001,问是否出错?
步骤一:由多项式G(x)=x^5 + x^4 + x +1,得其阶数为1的二进制编码为:110011。
步骤二:用接收的报文1010011011001对步骤一的110011进行模二除法,看余数是否为0,如为0则正确,如不为0,则出错,计算余数为1,则出错。
如下图:
二、海明码
1.求海明码,如:求1011海明码。
步骤一:求校验码位数r,公式为:2^r ≥r+k+1的最小r。
题目中为2^3≥3+4+1,所以取r=3,即校验码为3位。
步骤二:画图,并把原码的位编号写成2的指数求和的方式,其中位编号长度为原码和校验码个数之和,从1开始。
校验码插在2的阶码次方的位编号下,且阶小于r。
如下:
原码的位编号写成2的指数求和:
7=2^2+2^1+2^0;
6=2^2+2^1;
5=2^2+2^0;
3=2^1+2^0;
步骤三:求校验位,即每个校验位的值为步骤二中“原码的位编号写成2的指数求和”式子中相应2的阶出现的位编号下原码的值异或。
即:
r0=I4异或I2异或I1=1;(2^0次出现在7,5,3位,其对应的值为I4,I2,I1)
r1=I4异或I3异或I1=0;(2^1次出现在7,6,3位,其对应的值为I4,I3,I1)
r2=I4异或I3异或I2=0;(2^0次出现在7,6,5位,其对应的值为I4,I3,I2)
把r0,r1,r2带入海明码,得所求的海明码为:1010101
2.已知海明码,求原码或判断是否出错并改正错位,如:信息位8位的海明码,接收110010100000时,判断是否出错,并求出发送端信息位。
步骤一:求校验码位数r,公式为:2^r ≥r+k+1的最小r。
题目中为2^4≥4+8+1,所以取k=4,即校验码为4位。
步骤二:根据作图,求得信息位编码和发过来的校验码记为r,并由原编码从新计算出新的校验码与发来的校验码r进行异或运算,具体如下:
得到,原码11000100,发送来的校验码r为1000
再根据求R,把原码的位编号写成2的指数求和:
12=2^3+2^2;
11=2^3+2^1+2^0;
10=2^3+2^0;
9=2^3+2^0;
7=2^2+2^1+2^0;
6=2^2+2^1;
5=2^2+2^0;
3=2^1+2^0;
求得:
S3=r3异或(I8异或I7异或I6异或I5)
S2=r2异或(I8异或I4异或I3异或I2)
S1=r1异或(I7异或I6异或I4异或I3异或I1)
S0=r0异或(I7异或I5异或I4异或I2异或I1)
S3S2S1S0,其十进制为0,表示没出错,如果不为零,则其十进制数即为出错的位。
本题S3S2S1S0=1001,十进制为9,即第九位出错。
改过来既为:11010100
注:不管用海明还是CRC编码,如果不是有必要或学密码学,不用想办法搞清原理,就拿它当像勾股定理一样使用就ok,否则,对一般来讲,的确有点痛苦。