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

2 Answers

0 votes
class Program {
    private static 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;
    }
    
    public static void main(String[] args) {
        int num1 =  9; // 1001
	    int num2 = 14; // 1110

	    System.out.print(hamming_distance(num1, num2));
    }
}



/*
run:

3

*/

 



answered Feb 5, 2024 by avibootz
0 votes
class Program {
    private static int hamming_distance(int num1, int num2) {
    	int xr = num1 ^ num2;
    	int result = 0;
    
    	while (xr != 0) {
    		xr = xr & (xr - 1);
    		result++;
    	}
    	
    	return result;
    }

    public static void main(String[] args) {
        int num1 =  9; // 1001
	    int num2 = 14; // 1110

	    System.out.print(hamming_distance(num1, num2));
    }
}



/*
run:

3

*/

 



answered Feb 5, 2024 by avibootz
...