w3resource

Java: Find the number of bits required to flip to convert two given integers


Bits to Flip Between Integers

Write a Java program to find the number of bits required to flip to convert two given integers.

Example: 27 --> 11011
23--> 10111

Sample Solution:

Java Code:

import java.util.*
public class Solution {
    public static void main(String[] args) {
        // Test the bitSwapRequired function and print the result
        System.out.println(bitSwapRequired(27, 23));
    }

    public static int bitSwapRequired(int x, int y) {
        int ctr = 0; // Initialize a counter to keep track of bit differences

        // XOR the two integers (x and y) to find differing bits
        for (int z = x ^ y; z != 0; z = z >>> 1) {
            // Right shift 'z' by 1 bit and check the least significant bit
            ctr += z & 1; // If the least significant bit is 1, increment the counter
        }
        return ctr; // Return the total count of differing bits
    }
}

Sample Output:

2

Flowchart:

Flowchart: Java exercises: Find the number of bits required to flip to convert two given integers.


For more Practice: Solve these Related Problems:

  • Write a Java program to find the number of bits to be flipped to convert one number to another using bitwise operations.
  • Write a Java program to find the position of bits that need to be flipped to convert one number to another.
  • Write a Java program to count the number of set bits (1s) in the XOR of two given integers.
  • Write a Java program to check if flipping a single bit can make two numbers equal.

Go to:


PREV : Array to Minimal Height BST.
NEXT : First Unique Character Index.


Java Code Editor:

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.