快速学会海明校验

简介: 快速学会海明校验

海明校验

简介:本文旨在用最简洁的篇幅向大家介绍,如何快速的学会海明校验,并会做相关的题目。

海明码简介:海明码是一种多重(复式)奇偶检错系统,用于检错和纠错。

原理:在 k位数据中增加 r位校验位构成 n + k位码字,附加的 r位校验位能够均匀的拉大,每个校验位对码字中的若干位进行奇偶校验,这样当某一位出错后,会引起几个校验位的值的变化。这样既能检测出错误,又可以位纠错提供依据。

计算方法:

我们以一个具体的题目为例子来看:

真题演练

对于01100111,计算他的海明码。

第一步:

计算长度

通过公式计算海明码的校验码的长度r:

  • 校验位数:假设有r位校验码,k位有效数据位,则有关系:
  • 2r - 1 ≥ k + r

k = 8可以得到r=4

第二步:

画表格

编码前为:01101110

0 1 1 0 x 1 1 1 x 0 x x
二进制 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001
海明码 H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1
对应位 D8 D7 D6 D5 P4 D4 D3 D2 P3 D1 P2 P1
G1组
G2组
G3组
G4组

规则为:计算出每一位的二进制数,然后对于G1那么就选择出对应位为D的,然后对应的H的二进制第一位为1的,在下面打上√。

异或的原理为:

P1 = D7⊕D5⊕D4⊕D2⊕D1 = 1详细过程:1⊕0⊕1⊕1⊕0=1

P2 = D7⊕D6⊕D4⊕D3⊕D1 = 0

P3 = D8⊕D4⊕D3⊕D2 = 1

P4 = D8⊕D7⊕D6⊕D5 = 0

第三步:

获得海明码,将P的位置替换好。

011001111001

第四步:

海明码的验错:

原理:

  • 将对应的校验位进行异或运算,即 Si = Pi ⊕ Pi’
  • 若四位校验码为 0000,则表明该码字传输无误
  • 若四位校验码不全为零,则将校验码的结果按低位到高位排布,即 S4S3S2S1,将此校验码转化成十进制数,表示海明码对应位数出现了错误。

假设发送海明码为1100110,接受海明码为1100100,这个时候G3G2G1=000,信息正确,从中提取有效信息为1101(也就是去掉P位之后,剩下的D位)

若海明码位1110110(D4D3D2P3D1P2P1),有效信息为1111(D4D3D2D1)

G3 = P3⊕D2⊕D3⊕D4=0⊕1⊕1⊕1=1

G2 = P2⊕D1⊕D3⊕D4=1⊕1⊕1⊕1=0

G1 = P1⊕D1⊕D2⊕D4=0⊕1⊕1⊕1=1

对应G3G21=101(十进制为5,对应D2),然后将D2求反获得信息为1101。

如果大家觉得有用的话,可以关注我下面的微信公众号,极客李华,我会在里面更新更多行业资讯,企业面试内容,编程资源,如何写出可以让大厂面试官眼前一亮的简历等内容,让大家更好学习编程,我的抖音,B站也叫极客李华。大家喜欢也可以关注一下

相关文章
|
存储 C# C语言
浮点数在计算机中存储方式
浮点数在计算机中存储方式
618 0
|
5月前
|
人工智能 自然语言处理 API
推荐几个常用免费的文本转语音工具
本文推荐了几款免费的文本转语音工具,包括功能全面的AI易视频、支持多语言的Google TTS、操作便捷的Natural Reader、离线使用的Balabolka以及轻量级的Speech2Go。其中AI易视频特别适合小说转语音,可智能分配角色音色,打造广播剧般的听觉体验。这些工具各具特色,能满足不同场景需求,助力内容创作更高效。
994 5
|
12月前
|
监控 测试技术 开发者
开发者如何使用微服务引擎MSE
【10月更文挑战第16天】开发者如何使用微服务引擎MSE
750 4
|
11月前
|
前端开发 UED 开发者
React 日期选择器 Date Picker
本文从React的角度探讨了日期选择器的使用方法,包括使用`react-datepicker`库的基本配置、自定义样式、国际化设置、常见问题及解决方案,旨在帮助开发者构建用户友好的日期选择组件。
378 12
|
容器
flutter GestureDetector 点击空白区域无反应解决办法
flutter GestureDetector 点击空白区域无反应解决办法
285 0
|
人工智能 自然语言处理 安全
ChatGPT-5 最快将于 6 月发布
OpenAI计划推出ChatGPT-5,预计6月发布,企业客户已提前体验其增强的性能与定制化功能。模型将经过密集训练和严格安全测试,提升语言理解和交互的自然度。GPT-5将影响多个行业,带来商业机遇,同时引发关于伦理和安全的讨论。其在教育和医疗领域的应用前景广阔,但用户仍需注意信息验证。
1006 0
ChatGPT-5 最快将于 6 月发布
|
Java Linux 数据安全/隐私保护
libreOffice word 转 pdf
在Windows环境下,使用documents4j进行DOCX到PDF的转换大约需要20秒,而Linux环境下通过Docker配置LibreOffice进行转换,时间仅为1.4秒。documents4j仅适用于Windows且需Microsoft Office支持,libreOfficeCommand则依赖于Linux环境。Spire.Doc.Free有前4页免费但有水印,不推荐。
863 0
|
监控 NoSQL Java
几种主流的分布式定时任务,你知道哪些?
几种主流的分布式定时任务,你知道哪些?
|
网络协议 算法 网络性能优化
TCP 重传、滑动窗口、流量控制、拥塞控制
TCP 重传、滑动窗口、流量控制、拥塞控制
|
前端开发 JavaScript API
JavaScript实现忘记密码功能
JavaScript实现忘记密码功能