汉明距离计算器
统计两个等长字符串中不同的位置,并即时查看逐位相似度。
比较两个序列
输入长度相同的字符串。字母、数字、空格和符号均按原样精确比较。
关于汉明距离计算器
汉明距离衡量两个等长字符串在多少个对应位置上不同。逐个字符比较,只要对应字符不一致就加一,最终计数就是汉明距离。距离为零表示字符串完全相同,距离等于字符串长度则表示所有位置都不同。这一概念以数学家理查德·汉明命名,是编码理论和数字通信的基础概念。
例如,hello 和 hallo 仅在第二个位置不同,因此汉明距离为一。二进制字符串 1011101 和 1001001 在第三和第五个位置不同,距离为二。本工具使用从一开始的编号显示位置,即首字符的位置为一,而不是索引零。它还以相同位置数除以总长度,并用百分比表示逐位相似度。
等长是标准定义的必要条件。汉明距离只描述替换,即某位置上的字符被另一个字符替代。它不考虑插入或删除,因为这些操作会使后续位置偏移,无法直接一一比较。对于长度不同的字符串,通常更适合使用莱文斯坦距离等编辑距离。因此,本计算器会拒绝不等长输入,而不会静默补齐或截短。
汉明距离广泛用于检错码和纠错码。有效码字被设计为至少相隔某个最小距离。如果接收码字与某个有效码字仅有少量比特不同,解码器就能推断可能发生的传输错误。在标准假设下,最小距离为三的编码最多可检测两个比特错误,并纠正一个比特错误。
这一度量也用于信息论、密码学、聚类、计算机视觉和生物序列分析。哈希比较可统计不同的比特来研究雪崩效应,二进制特征向量则可用异或运算高效比较。本计算器执行精确字符比较,并区分大小写,因此大写 A 与小写 a 不同。空格和标点也计作字符。解读结果前,请统一输入格式,并确认两个序列代表已对齐的观测。
汉明距离示例
| 序列 | 距离 | 不同的位置 |
|---|---|---|
| hello 和 hallo | 1 | 只有位置 2 不同。 |
| 1011101 和 1001001 | 2 | 位置 3 和 5 不同。 |
| karolin 和 kathrin | 3 | 位置 3、4 和 5 不同。 |
如何计算汉明距离
- 按需要比较的原样输入第一个序列。
- 输入字符数相同的第二个序列。
- 选择“计算汉明距离”,统计不匹配位置。
- 查看距离、相似度百分比,以及从一开始编号的不匹配位置。
汉明距离常见问题
汉明距离为零是什么意思?
表示每个对应位置的字符都匹配。两个序列在精确、区分大小写的比较下完全相同。
字符串可以长度不同吗?
不可以。标准汉明距离只针对等长字符串定义。如果需要考虑插入和删除,请使用莱文斯坦距离或其他编辑距离。
比较是否区分大小写?
是的。大写和小写字母视为不同字符。若分析需要忽略大小写,请在输入前统一字母大小写。
相似度百分比如何计算?
计算器用序列长度减去距离,再除以该长度。乘以 100 后,即得到匹配位置所占的百分比。
汉明距离如何用于纠错?
编码系统让有效码字之间保持已知的最小距离。接收端可根据最近的有效码字,检测或纠正有限数量的比特变化。