汉明码计算器

由四个数据位生成汉明 (7,4) 码,并检测或纠正传输中的单比特错误。

汉明 (7,4) 码
使用偶校验编码四个数据位,也可选择检查接收到的七位码。

关于汉明码计算器

汉明码是数学家理查德·汉明提出的一类纠错码。它在数据字的特定位置加入校验位,使接收方能够识别并修复一个发生变化的比特。这里使用的汉明 (7,4) 方案将四个数据位变成七位码字,简洁展示数字通信、计算机内存、存储系统及嵌入式电子设备所采用的差错控制原理。 七个码位从一到七编号。校验位位于第一、第二和第四位,因为这些位置编号是二的幂。原始四个数据位放在第三、第五、第六及第七位。各校验位检查不同但相互重叠的位置组。本计算器使用偶校验,即加入校验位后,每个受检组中的一应为偶数个。 对于数据位 d1、d2、d3、d4,校验位 p1 检查 d1、d2、d4;p2 检查 d1、d3、d4;p4 检查 d2、d3、d4。最终排列为 p1, p2, d1, p4, d2, d3, d4。因此,1011 编码后得到 0110011。数一数各校验组中的一,即可验证。 接收到七位码时,接收方重新执行三次校验。失败的校验构成三位伴随式,其数值指出错误位置。伴随式为一表示第一位出错,为五表示第五位出错,为零则表示没有单比特错误。翻转指定比特可恢复原有效码字。可选的接收码字段演示此过程,并显示纠正后的序列。 标准汉明 (7,4) 码保证纠正一位错误,但无法可靠区分所有两位错误。扩展汉明码增加一个整体校验位,以实现单错纠正和双错检测。本计算器专注于经典七位版本和偶校验。请仅输入零和一,不要加入空格、前缀或分隔符,以免位位置产生歧义。

汉明码示例

数据或接收码结果说明
数据 10110110011校验位为 0、1、0。
数据 11011010101校验位为 1、0、0。
接收码 0010101位置 1 出错翻转第一位可恢复为 1010101。

如何使用汉明码计算器

  1. 恰好输入四个二进制数据位,不要使用空格或分隔符。
  2. 可选填接收到的七位码字,检查传输错误。
  3. 点击计算汉明码,生成偶校验码字。
  4. 如提供了接收码,请查看伴随式结果与纠正后的编码。

汉明码常见问题

汉明 (7,4) 表示什么?

码字总共七位,其中四位为原始数据,另外三位提供纠错所需的校验信息。

本计算器使用哪种校验约定?

三个校验组均使用偶校验,因此有效受检组中一的个数为偶数。

伴随式如何定位错误?

每个失败的校验为伴随式贡献一个二进制位权,合计值等于单个错误比特的位置,位置从一开始编号。

汉明 (7,4) 能纠正两个错误吗?

不能。它用于纠正每个码字中的一个比特变化。两个比特变化可能产生误导性的伴随式,不应认为可安全纠正。

汉明码用于哪些领域?

它用于编码理论教学,也见于内存、通信及存储设计。实际系统通常会根据可靠性要求使用扩展码或更强大的编码。