【算法学习】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);
}

解释

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

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

资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容