×

Java Programs

Java Practice

Java program to print bits that need to be flipped to convert a number to another number

Given/input a number, we have to print bits that need to be flipped to convert a number to another number.
Submitted by Nidhi, on March 12, 2022

Problem statement

In this program, we will read 2 integer numbers from the user. Then we will print bits to be flipped to get the 2nd number from the 1st number.

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.

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

Explanation

In the above program, we imported the java.util.Scanner package to read the variable's value from the user. And, created a public class Main. It contains a static method main().

The main() method is an entry point for the program. Here, we read 2 integer numbers from the user. Then we printed bits that need to be flipped to get the 2nd number from the 1st number.

Java Basic Programs »



Related Programs



Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.