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
*/