文档章节

计算机体系结构(四)——海明码

白志华
 白志华
发布于 2015/10/18 10:56
字数 461
阅读 2
收藏 0
点赞 0
评论 0
    海明码(Hamming Code )是一种常用数据校验的编码。它是在信息位为k位,增加r位冗余位(校验码),构成一个n=k+r位的码字。它可以用于检验数据的正误和判别错误位置。

【计算海明码】
    (1)校验位的确定
    最终生成的海明码是n位,其中k位信息位+r位冗余位(校验码)。r位的校验位可以表示 2r 个数,但是只有一种表示是正确的,剩余2r -1都是错误的,所以若有2r -1>k+r,即可判别错误位置。
 
    (2)校验位的生成
    举例说明吧:有效信息位为1101,求它的校验位。
    ①. 求所需校验位的长度、确定校验位位置:
    根据公式2r -1>k+r,其中k=4,则r=3(这里求r的最小整数值)。即需要3位校验位。校验位的位置并不是直接插在信息位的后面,而是以2的幂次方嵌入到信息位中。即分别嵌入到20、21、2位置。
    ②. 求校验位:
    设校验位分别为b1,b2,b3,则插入到信息位中后,请看图:
    
    H的下标以2的幂次方形式展开:
    H1:2—— b1
    H2:2—— b2
    H3:21+2—— b1+b2
    H4:2—— b3
    H5:22+20  —— b3+b1
    H6:22+2——  b3+b2
    H7:22+21+2——  b3+b2+b1
    其中与 b1 有关的复合式有H3,H5,H7,与 b2 有关的有H3,H6,H7,与 b3 有关的有H5,H6,H7。将H换为对应的信息位,则:
     b1 =DDD3 = 101=0
     b2 =DDD3 = 111=1
     b3 =DDD3 = 011=0

所以最终的海明码为:1100110 。

【校验数据】
    待续...

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
白志华
粉丝 29
博文 260
码字总数 57524
作品 0
长沙
程序员
海明码校验程序设计

需求分析 (1)海明码编码: 输入:一串二进制数据串 输出:插入海明码后的二进制数据串 (2)海明码纠错: 输入:一串含海明码的二进制数据串 输出:通过海明码校验,检查该二进制串是否有错...

乐搏学院 ⋅ 2016/12/07 ⋅ 0

改变未来的九大算法(5.纠错码)

在计算机中,正确率达到99.99999%还是不够的,必须达到完全正确。那么在实际应用中如何保障数据正确的呢? 1、重复把戏 假如你要传输的数据为234.5,线路的错误率为20%,那么我们可以传输5次...

OScoder2 ⋅ 2014/06/18 ⋅ 0

操作系统from清华大学向勇,陈渝 笔记(一)绪论

操作系统operating system(OS)清华大学向勇,陈渝 笔记 上课视频来源,B站 搜操作系统 96P的那个 UP主真乃分P狂魔!!! 下篇和下下篇在这里 二 操作系统的启动、中断、异常、系统调用 三 ...

github_36487770 ⋅ 2017/02/08 ⋅ 0

这本读者期待的芯片书《手把手教你设计CPU——RISC-V处理器》终于出版!

点击关注异步图书,置顶公众号 每天与你分享IT好书 技术干货 职场知识 点击图片购书 参与文末话题讨论,每日赠送异步图书 ——异步小编 在摩尔定律减缓的今天,一味比拼硬件性能的技术竞赛变...

异步社区 ⋅ 05/14 ⋅ 0

让我们谈谈RAID

转自:http://soft.zdnet.com.cn/techupdate/2004/0330/397707.shtml 更新时间: 2004-03-30 17:14:00 作者: 赵效民 感觉写的很好就转来了。 RAID的种类 RAID的英文全称为Redundant Array o...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

计算机网络基本概述

计算机网络基本概述一、 计算机网络硬件软件:实现资源共享、信息传递 二、 计算机网络的功能数据通信、资源共享、增加数据可靠性、提高系统处理能力 三、网络协议与标准1、协议:一组控制数...

王浩hh ⋅ 01/01 ⋅ 0

重大改革:Python 语言将被加入高考科目,VB 惨被淘汰!

点击上方“CSDN”,选择“置顶公众号” 关键时刻,第一时间送达! 【CSDN 编者按】一直以来,能够看到诸多在英美加拿大等国中小学生学编程的事情,早前奥巴马呼吁全民学编程言犹在耳。而国内...

csdnnews ⋅ 2017/12/10 ⋅ 0

计算机的书籍

我的csdn博客里有图片 ,大家可以去看 http://blog.csdn.net/andy_android/article/details/7011065 这里就偷懒一下 C语言 0.《C语言大全第四版》 作者: 赫伯特・希尔特 译者: 王子恢 戴健鹏...

andy_android ⋅ 2011/12/06 ⋅ 2

OSI七层模型基础知识及各层常见应用

OSI七层模型基础知识及各层常见应用 OSI Open Source Initiative(简称OSI,有译作开放源代码促进会、开放原始码组织)是一个旨在推动开源软件发展的非盈利组织。OSI参考模型(OSI/RM)的全称...

水中月120 ⋅ 2013/11/29 ⋅ 0

计算机基础知识

一、计算机系统 1.1 计算机系统由硬件系统(Hardware)和软件系统(Software)两大部分组成。 二、计算机硬件 2.1 计算机概念 计算机俗称电脑,是一种能接收和存储信息,并按照存储在其内部的程序...

浮冰者 ⋅ 2017/07/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

Nginx + uwsgi @ubuntu

uwsgi 安装 sudo apt-get install python3-pip # 注意 ubuntu python3默认没有安装pippython3 -m pip install uwsgi 代码(test.py) def application(env, start_response): start_res......

袁祾 ⋅ 昨天 ⋅ 0

版本控制工具

CSV , SVN , GIT ,VSS

颖伙虫 ⋅ 昨天 ⋅ 0

【2018.06.19学习笔记】【linux高级知识 13.1-13.3】

13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令

lgsxp ⋅ 昨天 ⋅ 0

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。 1.磁盘分区: fdisk /dev/sdb 划分几个主分区 输入t更改每个分区类型为8e(LVM) 使用partprobe生成分区的文件:如/dev/sd...

ZHENG-JY ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部