将信息位分组进行偶校验,多个校验位,多个校验位标注出错位置。

1、确定海明码的位数

若有n个信息位,和k个校验位,为了保证可以标注错误。

2k种状态可以表示n+k位的状态,以及一种正确的状态。

2k>=n+k+1

n和k的对应关系。

n 1 2~4 5~11 12~26 27~57 58~120
k 2 3 4 5 6 7

2、确定校验位的分布

信息位:1010

设信息位D1D2D3D4,共四位,校验位P1P2P3。共三位。加起来共七位。

校验位Pi应放在海明号为2i-1的位置上。

即上面的海明码应为:

D4D3D2P3D1P2P1

H7 H6 H5 H4 H3 H2 H1
D4 D3 D2 P3 D1 P2 P1
1 0 1 1

3、求校验位的值

H3: 3-> 0 1 1

H5: 5-> 1 0 1

H6: 6-> 1 1 0

H7: 7-> 1 1 1

然后Pi的值为所有海明码位二进制值的第i位的值为1的信息位的异或值。

三个分组分别进行偶校验。

P1等于:H3异或H5异或H7=0

P2等于:H3异或H6异或H7=1

P3等于:H5异或H6异或H7=0

则海明码为:

H7 H6 H5 H4 H3 H2 H1
D4 D3 D2 P3 D1 P2 P1
1 0 1 0 0 1 0

4、纠错

对各个分组进行检验,若分组内的校验位和信息位的异或值为0,无错。

S1 = P1异或D1异或H2异或D4

S2 = P2异或D1异或D3异或D4

S3 = P3异或D2异或D3异或D4

若接收到:1010010

S1 = P1异或D1异或H2异或D4 = 0011异或值为0

S2 = P2异或D1异或D3异或D4 = 1001异或值为0

S3 = P3异或D2异或D3异或D4 = 0101异或值为0

若出现错误得:S3S2S1=110,则第110位出错。D3出错。

补充

纠错能力:1位。检错能力:2位 。

但是若P1和P2发生错误,S3S2S1为011,表示第三位发生错误,这样是不对的。

因此需要加入全校验位。加上全校验位的海明码进行偶校验。

加入全校验位前提是加上P,整体有偶数个1。即P为整体海明码的异或值。

H8 H7 H6 H5 H4 H3 H2 H1
P D4 D3 D2 P3 D1 P2 P1
1 1 0 1 0 0 1 0

若S3S2S1= 000 且全体偶校验成功 无错误

若S3S2S1≠ 000 且全体偶校验失败 有一位错误,纠正即可。

若S3S2S1≠ 000 且全体偶校验成功 两位错误需要重新传

【计算机组成原理】海明校验码相关推荐

  1. 【考研·计算机组成原理】校验码 小结

    本篇目录 前言 一.校验码 1.校验码 2.码距 3.检错与纠错 二.奇偶校验码 三.海明码 1.海明校验码的原理 2.校验位的计算方法 四.CRC码(循环冗余校验) 总结 前言 跟着王道的考研复习指 ...

  2. 第二章 数据的表示和运算 2.1.5 汉明(海明)校验码 [计算机组成原理笔记]

    第二章 数据的表示和运算 2.1.5 汉明(海明)校验码 本笔记参考书目: 计算机组成原理(第六版.立体化教材)白中英.戴志涛 2021王道计算机组成原理视频公开课 本节重点: 海明(Hamming) ...

  3. 计算机组成原理学习笔记:海明校验码

    概述 海明校验码又可以称为汉明校验码, 这只是一个音译的问题, 作者是 Richard Hamming 海明校验码对于信息纠错这个领域的贡献十分巨大,Richard Hamming 获得了1968年的 ...

  4. 计算机底层:海明校验码。

    计算机底层:海明校验码.         海明校验码是由奇偶校验码中的偶校验延申出来的: 计算机底层:奇偶校验码_srhqwe的博客-CSDN博客 了解海明校验码之前需要先了解奇偶校验码. 海明校验码 ...

  5. 【中级软考—软件设计师】1计算机组成与体系结构1.2校验码【***】:1.2.3海明校验码总结梳理

    考点三:海明校验码[重点掌握] 可检错也可纠错 分组奇偶校验,通过分组交叉从而找出错误的位置 海明校验码位数的求取[掌握]:2(r次方)>=m + r + 1[公式也可以写成2(r次方) - 1 ...

  6. 白话——海明校验码及编码过程

    学习组原了解到海明校验码,刚开始实在是看不懂,脑子一团浆糊,然后还做到了一道错题更是惨的一批,现在还算是有了一个比较清晰的了解.想着做一个总结过程,希望像我这样的小白能免幸遇难.本文适合对海明校验码不 ...

  7. 进制转换及如何求校验码(海明校验码及循环冗余校验CRC码)

    文章目录 前言 一.进制转换 1.1 二进制转换为八进制数和十六进制数 1.2 任意进制数转换为十进制数 1.3 十进制转换为任意进制 二.校验码求取 2.1海明校验码 2.2循环冗余校验CRC码 总 ...

  8. 海明校验码--确定校验位

    计算机组成中的海明校验码,相信学过的都会有了解,那么对其中校验位的确定,我想似乎有些人不是很明白,今天我来详细的把如何确定校验位分享一下 首先看下基本的概念  : 2^r≥k+r+1 其中r为校验位 ...

  9. BCD码、奇偶校验码、海明校验码

    BCD码 十进制数用二进制编码的形式,通过专门的十进制数运算指令进行处理.计算机中有专门的逻辑线路在BCD码运算时使每4位二进制数按十进制进行处理. 每位十进制数的取值可以是0-9这十个数之一,因此, ...

  10. 常用校验码(奇偶校验码、海明校验码、CRC校验码)

    常用校验码(奇偶校验码.海明校验码.CRC校验码) 一.奇偶校验码 二.海明校验码 三.CRC校验码   计算机系统运行时,各个部之间要进行数据交换.交换的过程中,会有发生误码的可能(即0变成1或1变 ...

最新文章

  1. mysql 返回最大值列名_多列求最大值列和列名
  2. python网络爬虫权威指南 豆瓣_福利分享:个人整理的Python书单,从基础到进阶...
  3. 【CEO赠书】《浪潮之巅》:计算机史上的人间词话
  4. 【模板小程序】求M~N范围内的质数个数
  5. 万能的Seq2Seq:基于Seq2Seq的阅读理解问答
  6. centos6.5 安装 kong 网关
  7. python对象的三个属性_Python 对象属性的访问
  8. jQuery 开始动画,停止动画
  9. boolean到底占几个字节?
  10. ANSYS_APDL——实例001-模态分析
  11. Deecamp夏令营面试及结营体验
  12. Android View事件传递机制
  13. 互联网社交出海:赤子城年内涨幅280%,“深水区”故事如何说好?
  14. 记公司项目中数字大屏适配4K大屏的问题
  15. 谷歌浏览器在新页面打开_如何在Google文档中更改页面方向
  16. Socket学习总结系列(一) -- IM Socket
  17. vue element-ui elementUi 邮箱自动补全 邮箱自动填充
  18. 队列--参考源码(转)
  19. QT4.8.6调用zlib库实现数据流的压缩与解压缩
  20. Python构图小实例

热门文章

  1. JDK1.8新特性(五): Collectors
  2. 自动化设备高压变频器维修11条注意事项
  3. 小程序源码:洗衣店v2.5.0微信小程序
  4. 【每周Java技术】2022.05.16 周一 ~ 2022.05.22 周日(Srping Boot | 二叉树 | Docker | 微服务/云原生)
  5. 百名高管立下“军令状”,这场会议释放强烈信号
  6. android多语言配置,Android国际化(多语言)实现,支持8.0
  7. C语言中fputc函数
  8. 深度学习(三十八)初识DL在自然语言序列标注中的应用-未完待续
  9. 基于Springboot+mysql手机商城(带后台管理系统)
  10. 我的未来在等你 --- 致我的大学时光(一)