通过MCP连接 →

输入计算

数学公式

广告

结果

汉明距离
2
处不同的位置
已比较的位置数 7
最大长度 7

什么是汉明距离?

两个等长字符串之间的汉明距离,指的是它们在对应位置上符号不相同的个数。这一概念以理查德·汉明(Richard Hamming)的名字命名,是信息论、编码理论和计算机科学中的基础概念。它衡量的是将一个字符串变换为另一个字符串所需的最少替换次数,在检错码和纠错码中有着广泛的应用。

两条等长的位串垂直对齐,不同的位置被高亮显示
汉明距离统计两个等长字符串中不同的位置数。

如何使用本计算器

输入两个待比较的字符串——它们可以是二进制序列(例如 1011101)、DNA 碱基序列,或任意文本。计算器会逐个字符进行比对,统计有多少个位置不同。如果两个字符串长度不一致,较长字符串中多出来的每个字符都会被算作一处差异。

计算公式详解

对于两个字符串 ab,汉明距离等于对所有位置 i 求和:当 \( a_i \neq b_i \) 时计为 1,否则计为 0:

$$d(a, b) = \sum_{i=1}^{\min(|a|,|b|)} \left[\, \text{A}_i \neq \text{B}_i \,\right] + \Big|\; |\text{A}| - |\text{B}| \;\Big|$$

计算结果始终是一个非负整数,取值范围在 0(两字符串完全相同)到字符串长度(每个位置都不同)之间。

实例演示

比较 10111011001001,将它们对齐:

1011101
1001001

在第 3 位(1 对 0)和第 5 位(1 对 0)处出现差异,因此汉明距离为 2

两个短单词逐字母比较,不同的字母被标记
逐字符比较两个字符串以统计差异。

常见问题

两个字符串必须等长吗? 经典的汉明距离要求两个字符串长度相等。本工具对长度不等的字符串同样能给出有参考价值的结果:将多出的每个字符都计为一处不匹配。

它支持非二进制文本吗? 支持。任何字符都可以进行比较——字母、数字或各种符号均可。

它与莱文斯坦距离(编辑距离)有什么区别? 汉明距离只统计固定位置上的替换次数,而莱文斯坦距离还允许插入和删除操作。

最后更新: