透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

漢明距離
2
相異的位置數
已比對的位置數 7
最大長度 7

什麼是漢明距離?

漢明距離(Hamming distance)指的是兩個等長字串中,對應位置符號相異的數量。這個概念以理查・漢明(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

兩個短單字逐字母比較,不同的字母被標記
逐字元比較兩個字串以統計差異。

常見問題

兩個字串一定要等長嗎?傳統的漢明距離要求兩字串長度相同。不過本工具對長度不同的字串仍能提供實用結果,做法是把多出來的每個字元視為一處不相符。

非二進位的文字也適用嗎?適用。任何字元都能拿來比較,包括字母、數字或符號。

它和萊文斯坦距離(Levenshtein distance)有什麼不同?漢明距離只計算固定位置上的替換,而萊文斯坦距離還允許插入與刪除的操作。

最後更新: