ハミング距離:
たとえば、2 つの 2 進数: 1011 と 1000 の HD (ハミング距離) は 2 です。
10000 と 01111 の HD は 5 です。
コードは次のとおりです。
誰かが私にそれを説明できますか?
ありがとう!
short HammingDist(short x, short y)
{
short dist = 0;
char val = x^y;// what's the meaning?
while(val)
{
++dist;
val &= val - 1; // why?
}
return dist;
}