学习组原了解到海明校验码,刚开始实在是看不懂,脑子一团浆糊,然后还做到了一道错题更是惨的一批,现在还算是有了一个比较清晰的了解。想着做一个总结过程,希望像我这样的小白能免幸遇难。本文适合对海明校验码不清楚的小白,大神请绕路。有不全面的地方,麻烦大家指正,毕竟我也还只是个大学生,下面直接进入正题。


相信大家肯定之前也肯定看了很多相关知识点,这里不再重复了,就直接上题正面刚了。

例:计算原始信息位为0110101按配偶原则配置对应的海明校验码?(奇校验的话校验位是组内所有数异或的非)

1、确认需要的校验位数

海明校验码有个公式:2^r -1 >= k + r

因为题目信息位为7位,所以r = 4.

2、校验码所插入位置

海明校验码是放在2的幂次位上的,即“1,2,4,8,16,32······”;并不是像CRC样全求出余数然后放在低位。

错误的插入:

位置 1 2 3 4 5 6 7 8 9 10 11
数据     1   0 1 0   1 1 0

正确的插入:

位置

1 2 3 4 5 6 7 8 9 10 11
数据     0   1 1 0   1 0 1

很容易看出一种是从右往左插入,另一种是从左往右。(在这个坑里不知道待了多久,望小白都能注意)

注:空白部分为校验位位置

确认数据位由那几个校验位校正

通过这个图可以看出每个校验码校验了那几个位置。

P1:3,5,7,9,11

P2:3,6,7,10,11

P3:5,6,7

P4:9,10,11

P1:0+1+0+1+1,如果海明校验码采用偶校验,则P1为1,奇校验为取非为0

P2:0+1+0+0+1,偶校验,则P2为0,奇校验为1

P3:1+1+0,偶校验,则P3为0,奇校验为1

P4:1+0+1,偶校验,则P4为0,奇校验为1

将校验位添加入表中既为对应的海明校验码。

位置

1 2 3 4 5 6 7 8 9 10 11
数据 1 0 0 0 1 1 0 0 1 0 1

这里我用的是偶校验,所以结果为:10001100101

注:若还有疑问可看教材《计算机组成原理》唐朔飞编著,位置:P100

白话——海明校验码及编码过程相关推荐

  1. 海明校验码及编码过程

    例:计算原始信息位为0110101按配偶原则配置对应的海明校验码?(奇校验的话校验位是组内所有数异或的非) 1.确认需要的校验位数 海明校验码有个公式:2^r -1 >= k + r 因为题目信 ...

  2. c语言海明校验码编码,海明校验码的编码规则有哪些?

    在海明码中, 位号数(1.2.3.--.n)为2的权值的那些位,即: 1(2^0).2(2^1).4(2^2).8(2^3).-2^(r-1)位,作为奇偶校验位,并记作: P1.P2.P3 .P4.- ...

  3. 【软考学习7】数据校验——海明校验码、循环校验码、奇偶校验码

    一.检错.纠错和码距 1.1 检错 从接收的报文中,检查出错误. 1.2 纠错 从接收的报文中检查出错误,并改正错误. 一般通过加冗余信息(增大码距)来实现. 1.3 码距 码距是整个编码系统中任意两 ...

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

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

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

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

  6. 海明校验码原理以及作用机制的介绍

    什么是海明校验码? 由Richard Hamming于1950年提出.还被广泛采用的一种很有效的校验方法,是只要增加少数几个校验位,就能检测出二位同时出错.亦能检测出一位出错并能自动恢复该出错位的正确 ...

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

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

  8. 海明校验码简析与举例

    海明校验码简析与举例 基本思想: 将有效信息按某种规律分成若干组,每组安排一个校验位,做奇偶测试,就能提供多位检错信息,以指出最大可能是哪位出错,从而将其纠正.实质上,海明校验是一种多重校验. 由Ri ...

  9. 用python写海明校验码

    生成海明校验码 def Input():"""输入字符串'0'与'1'的组合输出两个参数:字符串的长度,字符列表"""string = in ...

最新文章

  1. the folder is already a source folder.
  2. 实验一 链式存储结构的基本操作
  3. 推荐系统——协同过滤
  4. 最详尽使用指南:超快上手Jupyter Notebook
  5. 技术专题:请需要我帮忙抓包分析网络的网友,使用下面的抓包教程,然后将数据包发给我...
  6. AutoCAD2015 下载安装教程与使用技巧(已测有效)
  7. openvas漏洞扫描器
  8. win10任务栏卡死的靠谱解决方法
  9. 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第三章 中古时代的欧洲和阿拉伯
  10. java 换行规范_Java代码规范
  11. json字段名不一致的问题
  12. C语言之数组求中位数-封装函数
  13. KVM详解,太详细太深入了,经典
  14. 计算机专业教师技能比赛,青年教师展风采,技能比赛促提升
  15. web项目no such method exception
  16. go 注册登录 mysql_golang实现用户登录注册的方法
  17. JS调用window系统通知
  18. 19106225贾奎滢
  19. 中国1,2-己二醇市场趋势报告、技术动态创新及市场预测
  20. windows 截屏快捷键x220_笔记本截屏的快捷键是什么_笔记本截屏快捷键是什么

热门文章

  1. set_input_delay/set_output_delay
  2. 有 5 个人坐在一起,问第五个人多少岁?
  3. PHP上传图片到服务器
  4. 系统关键文件丢失或损坏
  5. ubuntu 设置打开文件的默认方式
  6. 国华小状元1号年金险怎么样?好不好?
  7. Qt编写的项目作品5-物联网综合管理平台
  8. 华为手机wifi不显示连接到服务器,华为手机无线网已经连接但不能用怎么办
  9. 仿冒应用成新型诈骗手段 社交类应用中毒最深
  10. Jordan标准形(番外篇)——线性变换可对角化和最小多项式的关系