Я недавно наткнулся на этот фрагмент кода found on Wikipedia и хотел бы получить некоторые разъяснения относительно того, что происходит:Расстояние Хемминга Интуиция
int hamming_distance(unsigned x, unsigned y)
{
int dist = 0;
unsigned val = x^y;
// Count the number of bits set
while (val != 0)
{
// A bit is set, so increment the count and clear the bit
dist++;
val &= val - 1;
}
// Return the number of differing bits
return dist;
}
Какое значение выполнения операции XOR на обоих входах?
Я бы сказал, что XOR является простой частью этого алгоритма – harold