How to print the bits that need to be flipped to convert a number to another number in Node.js

1 Answer

0 votes
function printNeedToBeFlippedBits(num1, num2) {
    let bitNum = 0;
    let lsb1 = 0;
    let lsb2 = 0;
    let s = "";
 
    while ((num1 > 0) || (num2 > 0)) {
        lsb1 = num1 & 1;
        lsb2 = num2 & 1;

        if (lsb1 != lsb2) {
            s += bitNum + " ";
            
        }
        
        num1 = num1 >> 1;
        num2 = num2 >> 1;
 
        bitNum++;
    }
    
    console.log(s);
}
 
let num1 = 2;  // 00000010
let num2 = 17; // 00010001
 
printNeedToBeFlippedBits(num1, num2);
 
num1 = 3;   // 00000011
num2 = 221; // 11011101
 
printNeedToBeFlippedBits(num1, num2);

  
  
  
  
/*
run:
    
0 1 4 
1 2 3 4 6 7 
        
*/

 



answered Dec 25, 2023 by avibootz
...