组卷题库 > 高中信息技术试卷库
试题详情
对n位二进制数进行海明码编码(n是8的倍数),以8位二进制数为一段,每段插入4位校验位,构成12位二进制数,依次处理,完成各段数据编码。

每段海明码编码方法如下:

     插入二进制位:在第1、2、4、8位置上插入4个二进制位r1、r2、r3、r4,初值为0。把原8位二进制数d1~d8从左往右依次填入剩余位置中,原数据位和插入的二进制位如图a所示:

图a

     计算插入的校验位的值:把每个位置号转换成4位二进制数,选出形如“***1”(“*”表示一位0或1)的位置号,则统计这些位置号对应数据位中的“1”的个数,若是奇数,则r1为1,否则为0;再选出形如“**1*”的位置号,则统计这些位置号对应数据位中的“1”的个数,若是奇数,则r2为1,否则为0;以此类推……

如8位二进制数“10101101”的编码过程如下:

1)插入4个二进制位,初值为0,剩余位置依次填入原数据位,如图b所示。

图b

2)计算插入的校验位的值,选出形如“***1”的位置号,即1、3、5、7、9、11,统计这些位置号对应数据位中“1”的个数为2,故r1=0,同理可得:r2=1,r3=0,r4=1,如图c所示。

图c

3)按位置号从小到大依次拼接各数据位得到最后编码“011001011101”。

知识点
参考答案
采纳过本试题的试卷
教育网站链接