漢明距離
漢明距離是使用在數據傳輸差錯控制編碼里面的,漢明距離是一個概念,它表示兩個(相同長度)字對應位不同的數量,我們以d(x,y)表示兩個字x,y之間的漢明距離。對兩個字符串進行異或運算,并統計結果為1的個數,那么這個數就是漢明距離。
C 算法實現
int count_one_bits( int value)
{
int ones;
for (ones = 0; value != 0; value = value >> 1) {
if (value % 2 != 0) {
ones = ones + 1;
}
}
return ones;
}
int hammingDistance(int x, int y) {
int tmpInt = x ^ y;
return count_one_bits(tmpInt);
}
解釋
首先將兩個數字進行“^”操作,然后計算得出的結果中,非零值的個數。
得出的結果,就是“漢明距離”。