【软考】:海明校验码(计算机组成原理)
来源:互联网 发布:贾雷德.戴蒙德 知乎 编辑:程序博客网 时间:2024/04/29 22:35
具体的原理可以直接百度不多说,直接写怎么解决
一、前提:
数据位中仅有一位出错,这是海明码产生的依据
二、异或运算
相同为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是所有的位置,则有如下的表:
位置H1H2H3H4H5H6H7信息位
D0
D1D2D3校验位b1b2
b3
(3) 确定校验位
确定规则:要想校验第几位(i),那么就等于校验位所在位置的加和
例如:需要校验H3,则H3 = b1+b2
所以,我们可以得到下面的校验位表:
位置占用的校验位号备注H1b11 = 1H2b2 2 = 2H3b2,b13 = 2 + 1H4b34 = 4(注意H4位置有校验位b3)H5b3,b15 = 4 + 1H6b3,b26 = 4 + 2H7b3,b2,b17 = 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.C4C1应使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,插入到信息位中会得到如下:
位置123456789101112信息位 0 110 1110校验位C1C2 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_
- 【软考】:海明校验码(计算机组成原理)
- 计算机组成原理--校验码
- 软考 之 计算机组成原理
- 软考——计算机组成原理
- 计算机组成原理与体系结构---校验码
- 软考——海明校验码
- 【软考】(二)计算机组成原理-cpu
- 备战软考(1) 计算机组成原理之数据表示
- 软考-计算机组成原理、体系机构与网络安全
- 软考-计算机组成原理、体系机构与网络安全
- 软考(8)--计算机组成
- 【软考】校检码之海明校验码的求法
- 海明校验码——软考(二)
- 软考--计算机组成和体系结构
- 软考(6)——看图心想 计算机组成原理,多媒体与网络和安全性
- 【软考】校验码
- 备战“软考”之组成原理
- 计算机校验码分类及原理
- 【LeetCode】Anagrams
- android使用volley的GET访问服务器乱码
- 系统入门(16):Android 触摸消息处理
- 字符集
- 数据库读取错误:ran out of memory retrieving query results
- 【软考】:海明校验码(计算机组成原理)
- 如何阅读源代码
- EXTJS如何设置ComboBox的值
- POJ 3659 树形DP
- 约瑟夫问题c++
- Javascript中的继承机制总结
- SQL中char、varchar、nvarchar的区别
- 使用simple json时遇到的一个小问题
- 译文-Android的MVP模式开发系列文章(1)