public class MyClass {
static int flipped_count(int a, int b) {
int n = a ^ b;
int count = 0;
while (n > 0) {
count++;
n &= (n - 1);
}
return count;
}
public static void main(String args[]) {
int a = 7, b = 10;
System.out.println("a = "+String.format("%4s", Integer.toBinaryString(a)).replace(' ','0'));
System.out.println("b = " + Integer.toBinaryString(b));
System.out.println("a ^ b = " + Integer.toBinaryString(a ^ b));
System.out.println(flipped_count(a, b));
}
}
/*
run:
a = 0111
b = 1010
a ^ b = 1101
3
*/