function flipped_count(a, b) {
let n = a ^ b;
let count = 0;
while (n > 0) {
count++;
n &= (n - 1);
}
return count;
}
const a = 7, b = 10;
console.log("a = " + "0000".substr(a.toString(2).length) + a.toString(2));
console.log("b = " + b.toString(2));
console.log("a ^ b = " + (a ^ b).toString(2));
console.log(flipped_count(a, b));
/*
run:
a = 0111
b = 1010
a ^ b = 1101
3
*/