Java program to count the number of bits to be flipped to convert a number to another number

Given/input a number, we have to count the number of bits to be flipped to convert a number to another number.
Submitted by Nidhi, on March 12, 2022

Problem Solution:

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

Program/Source Code:

The source code to count the number of bits to be flipped to convert a number to another number is given below. The given program is compiled and executed successfully.

// Java program to count the number of bits 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 cnt = 0;
    int lsb1 = 0;
    int lsb2 = 0;

    System.out.printf("Enter Number1: ");
    num1 = SC.nextInt();

    System.out.printf("Enter Number2: ");
    num2 = SC.nextInt();

    while ((num1 > 0) || (num2 > 0)) {
      lsb1 = num1 & 1;
      lsb2 = num2 & 1;

      if (lsb1 != lsb2)
        cnt++;

      num1 = num1 >> 1;
      num2 = num2 >> 1;
    }
    System.out.printf("Number of bits flipped: %d\n", cnt);
  }
}

Output:

Enter Number1: 11
Enter Number2: 15
Number of bits flipped: 1

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 counted the total number of bits to be flipped got the 2nd number from the 1st number and printed the result.

Java Basic Programs »



Related Programs




Comments and Discussions!

Load comments ↻






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