The source code to print bits that need to be flipped to convert a number to another number is given below. The given program is compiled and executed successfully.
// Java program to print bits that needs to be flipped
// to convert a number to another number
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner SC = new Scanner(System.in);
int num1 = 0;
int num2 = 0;
int bitNum = 0;
int lsb1 = 0;
int lsb2 = 0;
System.out.printf("Enter Number1: ");
num1 = SC.nextInt();
System.out.printf("Enter Number2: ");
num2 = SC.nextInt();
System.out.printf("Bits needs to be changed are:\n");
while ((num1 > 0) || (num2 > 0)) {
lsb1 = num1 & 1;
lsb2 = num2 & 1;
if (lsb1 != lsb2)
System.out.printf("%d ", bitNum);
num1 = num1 >> 1;
num2 = num2 >> 1;
bitNum++;
}
}
}
Output:
Enter Number1: 11
Enter Number2: 17
Bits needs to be changed are:
1 3 4
Program/Source Code:
The source code to print bits that need to be flipped to convert a number to another number is given below. The given program is compiled and executed successfully.
Output: