How to count the number of bits to be flipped to convert N1 to N2 in JavaScript

1 Answer

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

 



answered Dec 27, 2021 by avibootz
...