w3resource

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

Java Basic: Exercise-147 with Solution

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.

Java Code Editor:

Previous: Write a Java program to convert an sorted array to binary search tree. Maintain minimal height of the tree.
Next: Write a Java program to find the index of the first unique character in a given string, assume that there is at least one unique character in the string.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/java-exercises/basic/java-basic-exercise-147.php