码迷,mamicode.com
首页 > 其他好文 > 详细

计算机组成原理的【海明校验码】(软考)

时间:2015-05-05 21:49:04      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:计算机   软考   海明校验码   组成原理   

具体的原理可以直接百度不多说,直接写怎么解决

一、前提:

数据位中仅有一位出错,这是海明码产生的依据

二、异或运算

相同为0,不同为1,异或的符号为“xor”或者“”,例如:1 xor 1 = 0,1 xor 0 = 1

三、基本公式

2^r≥k+r+1  

其中r为校验位 ,k为信息位  信息位是已知的


四、具体例子

1、 求(1101)2的海明码

(1) 首先求出校验的位数和位置

位数:根据公式计算,校验位数最小为3

位置:2^n(位置一般为2的n次方,1、2、4、8、16等等)

(2) 把校验位插入到信息位中

设:D0D1D2D3 = 1101,b1b2b3是3个校验位,H1、H2、H3、H4、H5、H6、H7是所有的位置,则有如下的表:

位置 H1 H2 H3 H4 H5 H6 H7
信息位

D0
D1 D2 D3
校验位 b1 b2
b3

 
(3) 确定校验位

确定规则:要想校验第几位(i),那么就等于校验位所在位置的加和

例如:需要校验H3,则H3 = b1+b2

所以,我们可以得到下面的校验位表:

位置 占用的校验位号 备注
H1 b1 1 = 1
H2 b2 2 = 2
H3 b2,b1 3 = 2 + 1
H4 b3 4 = 4(注意H4位置有校验位b3)
H5 b3,b1 5 = 4 + 1
H6 b3,b2 6 = 4 + 2
H7 b3,b2,b1 7 = 4 + 2 + 1
(4) 确定每个校验位都校验了哪些位置

b1:H1、H3、H5、H7

b2:H2、H3、H6、H7

b3:H4、H5、H6、H7

则结果是:

b1 = H3 xor H5 xor H7 = 1 xor 1 xor 1 = 1

b2 = H3 xor H6 xor H7 = 1 xor 0 xor 1 = 0

b3 = H5 xor H6 xor H7 = 1 xor 0 xor 1 = 0

把这三个校验码插入得到海明码:1010101

2、题目:

信息位为01101110,四个检验位C1.C2.C3.C4
C1应使1,3,5,7,9,11位中的“1”的个数为偶数; 
C2应使2,3,6,7,10,11位中的“1”的个数为偶数; 
C4应使4,5,6,7,12位中的“1”的个数为偶数; 
C8应使8,9,10,11,12位中的“1”的个数为偶数
这是百度知道的一个问题,在这里解释一下:

“1”的个数为偶数代表最后异或的值为0,比如我们有2个“1”或者4个“1”异或,肯定得到0

我们设了4个校验位C1、C2、C3、C4,插入到信息位中会得到如下:

位置 1 2 3 4 5 6 7 8 9 10 11 12
信息位     0   1 1 0   1 1 1 0
校验位 C1 C2   C3       C4        
所以,根据题意的信息:

1、3、5、7、9、11位中的“1”的个数为偶数则异或结果肯定为0:C1 xor 0 xor 1 xor 0 xor 1 xor 1 = 0,可以得到C1 = 1

依次也可以得到其它的值

参考链接:http://zhidao.baidu.com/link?url=3qbO3xiK1bERUaC8cAb9bRZopokZGO4zKSMW9_HwaaULXMURwLfOZxOFwmifhFo3ZVKD7ZYrS46sck25v4nD0_


计算机组成原理的【海明校验码】(软考)

标签:计算机   软考   海明校验码   组成原理   

原文地址:http://blog.csdn.net/u010800530/article/details/45507649

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!