Skip to content

2013年 408 计算机组成原理 第 15 题

计算机组成原理2013年选择题2分

题目

用海明码对长度为 8 位的数据进行检/纠错时,若能纠正一位错,则校验位数至少为( )。

错因

A

只用 这种"覆盖数据位数即可"的简化估算: 已经能编码 4 个数据位置,但远远小于 8——根本连数据都不够编码,更别提加上校验位本身和"无错"状态。海明码必须能区分 n + k + 1 种情况(n 个数据位的错位置 + k 个校验位的错位置 + 1 个"无错"),不止 n 种。

B

用了 的版本:n=8 时 满足,得 k=3。这是最常见的脑回路漏洞——忘了校验位本身也可能出错(k 个位置)、还要一个"无错"状态(+1)。正确不等式是 ,n=8、k=3 时右边是 12,左边 8,不够

D

可能用了 严格大于、或多算了一位"双错检测"的位(SEC-DED 编码会再加 1 位)。题目只问"纠 1 位错",不要求双错检测,所以 SEC(单纠错)级别下 k=4 足矣,不需要 5。

总解析

核心不等式:海明码要纠正 1 位错,校验位数 k 必须满足

含义解释: 个校验位组合可以表示 种状态。这些状态需要分别对应:

需要区分的状态数量
没有错误1
数据位有 1 位错(n 个位置)n
校验位有 1 位错(k 个位置)k
合计n + k + 1

只有 不小于这个总数,每种错误才能被唯一识别 → 才能定位 → 才能纠正。

第二步:代入 n = 8,逐个试 k

k满足?
2411
3812
41613
53214✓(但不是最少)

最小的 k 是 4

第三步:与课本结论对照

408 海明码的常见小结:

数据位 n最少校验位 k
1–43
5–114
12–265
27–576

n=8 落在 5–11 区间 → k=4 ✓

最终答案是 C(4)

易错点速记

  • 不等式右边是 n + k + 1,不是 n、不是 n+1、不是 n+k
  • "纠 1 位错"对应的是 SEC(Single Error Correction);如果题目还要求"检 2 位错"(SEC-DED),需再加 1 位整体校验位

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数