【算法学习】C Hamming Distance

汉明距离

汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,我们以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);
}

解释

首先将两个数字进行“^”操作,然后计算得出的结果中,非零值的个数。

得出的结果,就是“汉明距离”。

资料

  • 释义来源 - 百度百科
  • 题目来源 - leetcode

你可能感兴趣的:(【算法学习】C Hamming Distance)