白话——海明校验码及编码过程
学习组原了解到海明校验码,刚开始实在是看不懂,脑子一团浆糊,然后还做到了一道错题更是惨的一批,现在还算是有了一个比较清晰的了解。想着做一个总结过程,希望像我这样的小白能免幸遇难。本文适合对海明校验码不清楚的小白,大神请绕路。有不全面的地方,麻烦大家指正,毕竟我也还只是个大学生,下面直接进入正题。
相信大家肯定之前也肯定看了很多相关知识点,这里不再重复了,就直接上题正面刚了。
例:计算原始信息位为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
白话——海明校验码及编码过程相关推荐
- 海明校验码及编码过程
例:计算原始信息位为0110101按配偶原则配置对应的海明校验码?(奇校验的话校验位是组内所有数异或的非) 1.确认需要的校验位数 海明校验码有个公式:2^r -1 >= k + r 因为题目信 ...
- 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.- ...
- 【软考学习7】数据校验——海明校验码、循环校验码、奇偶校验码
一.检错.纠错和码距 1.1 检错 从接收的报文中,检查出错误. 1.2 纠错 从接收的报文中检查出错误,并改正错误. 一般通过加冗余信息(增大码距)来实现. 1.3 码距 码距是整个编码系统中任意两 ...
- 第二章 数据的表示和运算 2.1.5 汉明(海明)校验码 [计算机组成原理笔记]
第二章 数据的表示和运算 2.1.5 汉明(海明)校验码 本笔记参考书目: 计算机组成原理(第六版.立体化教材)白中英.戴志涛 2021王道计算机组成原理视频公开课 本节重点: 海明(Hamming) ...
- 常用校验码(奇偶校验码、海明校验码、CRC校验码)
常用校验码(奇偶校验码.海明校验码.CRC校验码) 一.奇偶校验码 二.海明校验码 三.CRC校验码 计算机系统运行时,各个部之间要进行数据交换.交换的过程中,会有发生误码的可能(即0变成1或1变 ...
- 海明校验码原理以及作用机制的介绍
什么是海明校验码? 由Richard Hamming于1950年提出.还被广泛采用的一种很有效的校验方法,是只要增加少数几个校验位,就能检测出二位同时出错.亦能检测出一位出错并能自动恢复该出错位的正确 ...
- 计算机底层:海明校验码。
计算机底层:海明校验码. 海明校验码是由奇偶校验码中的偶校验延申出来的: 计算机底层:奇偶校验码_srhqwe的博客-CSDN博客 了解海明校验码之前需要先了解奇偶校验码. 海明校验码 ...
- 海明校验码简析与举例
海明校验码简析与举例 基本思想: 将有效信息按某种规律分成若干组,每组安排一个校验位,做奇偶测试,就能提供多位检错信息,以指出最大可能是哪位出错,从而将其纠正.实质上,海明校验是一种多重校验. 由Ri ...
- 用python写海明校验码
生成海明校验码 def Input():"""输入字符串'0'与'1'的组合输出两个参数:字符串的长度,字符列表"""string = in ...
最新文章
- the folder is already a source folder.
- 实验一 链式存储结构的基本操作
- 推荐系统——协同过滤
- 最详尽使用指南:超快上手Jupyter Notebook
- 技术专题:请需要我帮忙抓包分析网络的网友,使用下面的抓包教程,然后将数据包发给我...
- AutoCAD2015 下载安装教程与使用技巧(已测有效)
- openvas漏洞扫描器
- win10任务栏卡死的靠谱解决方法
- 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第三章 中古时代的欧洲和阿拉伯
- java 换行规范_Java代码规范
- json字段名不一致的问题
- C语言之数组求中位数-封装函数
- KVM详解,太详细太深入了,经典
- 计算机专业教师技能比赛,青年教师展风采,技能比赛促提升
- web项目no such method exception
- go 注册登录 mysql_golang实现用户登录注册的方法
- JS调用window系统通知
- 19106225贾奎滢
- 中国1,2-己二醇市场趋势报告、技术动态创新及市场预测
- windows 截屏快捷键x220_笔记本截屏的快捷键是什么_笔记本截屏快捷键是什么