抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

介绍

汉明距离是以理查德·卫斯里·汉明的名字命名的。在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。例如:

1011101 与 1001001 之间的汉明距离是 2。

2143896 与 2233796 之间的汉明距离是 3。

“toned” 与 “roses” 之间的汉明距离是 3。

C语言实现

1
2
3
4
5
6
7
8
9
10
11
int ham_distance(char *a, char *b)
{
int dist = 0;
while (*a && *b)
{
dist += (*a != *b) ? 1 : 0; //异或
*a++;
*b++;
}
return dist;
}

评论