到现在为止,软考的上午题基本已经讨论完毕!接下来该下午题了!
上次考试的时候对所有的知识点都只是个大概的知道,构建的知识网只是个大概,最后每个题都是模模糊糊!这次在前一次的基础上,争取搭建自己更清楚明白的知识网!
下面将一一介绍几个自己学到的几个重点内容!
以下是海明码具体的求解过程!这个在计算机组成的校验码部分是一个难点!
海明码(Hamming Code )是在信息位为k位,增加r位冗余位(校验码),构成一个n=k+r位的码字。它可以用于检验数据的正误和判别错误位置。
例:求信息1101的海明码。
1校验位位数、位置
位数:满足2r-1>=k+r,r取最小值
位置:在2n位置
2校验位的取值
H的下标以2的幂次方形式展开:
H1:20 —— b1
H2:21 —— b2
H3:21+20 —— b1+b2
H4:22 —— b3
H5:22+20 ——b3+b1
H6:22+21 —— b3+b2
H7:22+21+20 —— b3+b2+b1
其中与 b1有关的复合式有H3,H5,H7,与 b2 有关的有H3,H6,H7,与 b3 有关的有H5,H6,H7。将H换为对应的信息位,则:
b1 =D0 ⊕D1⊕D3 = 1⊕0⊕1=0
b2 =D0 ⊕D2⊕D3 = 1⊕1⊕1=1
b3 =D1 ⊕D2⊕D3 = 0⊕1⊕1=0
所以最终的海明码为:1100110 。