又叫汉明码,是一种多重就校验码,能够检错纠错
海明码的原理是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶性测试,然后产生多位检测信息,并从中得出具体的出错位置,最后通过对错误位取反(也是原来是1就变成0,原来是0就变成1)来将其纠正。
以下关于海明码的叙述中,正确的是( )。
A.海明码利用奇偶性进行检错和纠错
B.海明码的码距为1
C.海明码可以检错但不能纠错
D.海明码中数据位的长度与校验位的长度必须相同
假设校验位有k位,那么校验码最多有个,显然其中有一个校验码是正确的,那么就能校验出-1个错位。所以,如果能满足一个n位数n+k<=-1,则在理论上即可判断出哪一位数出错。
己知数据信息为 16 位,最少应附加()位校验位,才能实现海明码纠错。
A.3
B.4
C.5
D.6
只要是海明码按合法的方式编码,就能纠错。所以,本题实际上就是求海明码中校验位的长度。海明码中所需要的校验码位数,有这样的规定的:假设用N表示添加了校验码位后整个信息的二进制位数,用K代表其中有效信息位数,r表示添加的校验码位,关系应满足:-1>=K+r
题中K=16,则要求>=16+r+1,根据计算可以得知r的最小值为5。