news 2026/5/8 4:43:12

海明码学习全过程记录(软考专项)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
海明码学习全过程记录(软考专项)

学习目标:掌握软考海明码核心考点,能区分数据位n和校验位r、套用公式求校验位r、完成海明码排位、计算校验位、拼出完整海明码,适配软考真题难度。

学习轨迹:从混淆n和r → 能准确识别n/r → 会套公式求r → 能独立完成海明码完整计算,逐步进阶,全程贴合软考考点,无复杂原理,只记实用套路。

一、初始阶段:混淆数据位(n)和校验位(r)

1. 核心困惑

不清楚n和r的定义,做题时容易混淆,看到题目就凭感觉瞎猜r的数值,无法准确区分“原始数据”和“额外校验位”。

2. 关键区分(彻底吃透)

  • n(数据位):原始要传输的有效二进制位数,也就是“真正要传的正文/信息”,题目中常表述为“数据位、有效信息位、原始数据位”。

  • r(校验位):为了实现检错、纠错,额外添加的冗余位,题目中常表述为“校验位、冗余位、纠错位”。

3. 生活化类比(辅助记忆)

假设要发送8个字(原始信息),这8个字就是n;为了防止写错,额外加4个检查标记,这4个标记就是r。n是“本来就有”的,r是“额外添加”的。

4. 专项练习(纠正混淆)

核心规则:题目没给r、没让求r,就只写n,不许自己瞎算r;题目直接给r,就如实填写。

经过多轮纯识别练习(共10道),逐步养成“先认n,再看r”的习惯,彻底分清两者定义,不再混淆。

二、进阶阶段:套用公式求校验位r(软考必考)

1. 核心公式(唯一必背)

海明码校验位个数计算公式:

  • n:已知的数据位个数(题目直接给出)

  • r:需要求的最小校验位个数

  • 计算方法:从r=1、2、3...依次代入公式,第一个满足不等式的r,就是最小校验位个数。

2. 错题纠正(关键突破)

初始练习时,容易凭感觉蒙r的值(如n=4时猜r=2),忽略“代入公式验算”的步骤,导致错误。经过针对性纠错,掌握“逐一代入、验证不等式”的核心套路。

3. 经典例题演练(掌握套路)

  • 例1:n=4 → 试r=2(4≥7不成立),r=3(8≥8成立)→ r=3

  • 例2:n=8 → 试r=3(8≥12不成立),r=4(16≥13成立)→ r=4

  • 例3:n=6 → 试r=2(4≥9不成立),r=3(8≥10不成立),r=4(16≥11成立)→ r=4

  • 例4:n=3 → r=3(8≥7成立)

  • 例5:n=5 → r=4(16≥10成立)

  • 例6:n=12 → r=5(32≥18成立)

经过3轮练习(共6道题),能熟练套用公式,准确求出最小r,不再凭感觉猜测。

三、熟练阶段:完整计算海明码(软考真题实操)

1. 核心铁律(死记不变,软考通用)

  • 校验位P的固定位置:第号位,即1、2、4、8、16...号位。

  • 软考默认校验方式:偶校验(一组数据中,1的个数为偶数)。

  • 校验位管辖范围(固定不变):

    • P1(1号位):管辖1、3、5、7号位

    • P2(2号位):管辖2、3、6、7号位

    • P3(4号位):管辖4、5、6、7号位

2. 分步教学(跟着练会)

例题:原始数据1011(n=4),计算完整海明码。

  1. 求r:代入公式,r=3(8≥8成立),总位数n+r=7位。

  2. 排位:1、2、4号位放P1、P2、P3,3、5、6、7号位填数据1、0、1、1。

  3. 算校验位(偶校验):

    1. P1:管辖1、3、5、7 → 3=1、5=0、7=1(1的个数=2,偶数)→ P1=0

    2. P2:管辖2、3、6、7 → 3=1、6=1、7=1(1的个数=3,奇数)→ P2=1

    3. P3:管辖4、5、6、7 → 5=0、6=1、7=1(1的个数=2,偶数)→ P3=0

  4. 拼海明码:按1-7号位顺序,拼接为0110011。

3. 复刻练习(巩固套路)

例题:原始数据1101(n=4),独立完成计算。

  1. 求r:r=3,总位数7位。

  2. 排位:1=P1、2=P2、3=1、4=P3、5=1、6=0、7=1。

  3. 算校验位:

    1. P1:3=1、5=1、7=1(1的个数=3,奇数)→ P1=1

    2. P2:3=1、6=0、7=1(1的个数=2,偶数)→ P2=0

    3. P3:5=1、6=0、7=1(1的个数=2,偶数)→ P3=0

  4. 完整海明码:1010101。

4. 独立实操(检验成果)

练习题:原始数据1001(n=4),独立完成全流程计算,结果正确。

  1. 求r:r=3 ✅

  2. 排位:1=P1、2=P2、3=1、4=P3、5=0、6=0、7=1 ✅

  3. 算校验位:P1=0、P2=0、P3=1 ✅

  4. 完整海明码:0011001 ✅

四、学习总结(软考必背重点)

  1. 区分n和r:n是原始数据位,r是额外校验位,没让求r就不瞎算。

  2. 求r公式:,逐一代入验证,找最小r。

  3. 海明码排位:P1→1、P2→2、P3→4,其余位置填数据。

  4. 校验位计算:偶校验,按固定管辖范围,凑1的个数为偶数。

  5. 最终成果:能独立完成“求r→排位→算校验位→拼海明码”全流程,适配软考真题难度。

最终的海明码就类似这样的:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 4:42:52

如何快速上手OpenCoder-llm:10分钟完成模型部署与推理

如何快速上手OpenCoder-llm:10分钟完成模型部署与推理 【免费下载链接】OpenCoder-llm The Open Cookbook for Top-Tier Code Large Language Model 项目地址: https://gitcode.com/gh_mirrors/op/OpenCoder-llm OpenCoder-llm是一个开源的顶级代码大语言模型…

作者头像 李华
网站建设 2026/5/8 4:42:47

Windows系统spfileq.dll文件丢失无法启动程序解决

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/5/8 4:41:30

基于Python的AWS资源管理框架:轻量级IaC实践与模块化设计

1. 项目概述与核心价值最近在折腾云上资源管理,发现一个挺有意思的开源项目:cyphercodes/aws-manager。这名字听起来就挺直白,一个用来管理AWS(亚马逊云科技)资源的工具。但如果你以为它只是个简单的命令行包装器&…

作者头像 李华
网站建设 2026/5/8 4:34:34

KiraAI框架解析:如何构建标准化、可扩展的AI应用开发脚手架

1. 项目概述与核心价值最近在AI应用开发圈子里,一个名为“KiraAI”的项目引起了我的注意。这个由xxynet团队开源的项目,定位非常清晰:它是一个旨在简化AI应用开发流程的框架。简单来说,它想解决的是开发者在构建一个集成了大语言模…

作者头像 李华