How to find hamming distance (number of bits in the same position that differs in two numbers) in C++

1 Answer

0 votes
#include <iostream>

int hamming_distance(int num1, int num2) {
    int xr = num1 ^ num2;
    int result = 0;
        
    while (xr != 0) {
        result += xr & 1;
        xr = xr >> 1;
    }
    
    return result;
}

int main() {
    int num1 =  9; // 1001
    int num2 = 14; // 1110
    
    std::cout << hamming_distance(num1, num2);
}



/*
run:

3

*/

 



answered Feb 5, 2024 by avibootz
edited Feb 5, 2024 by avibootz
...