w3resource

Java Exercises: 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:

public class Solution {
    public static void main(String[] args) {
        System.out.println(bitSwapRequired(27, 23));
    }

      public static int bitSwapRequired(int x, int y) {
        int ctr = 0;
        for (int z = x ^ y; z != 0; z = z >>> 1) {
            ctr += z & 1;
        }
        return ctr;
    }
}

Sample Output:

2

Flowchart:

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

Java Code Editor:

Contribute your code and comments through Disqus.

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.



Share this Tutorial / Exercise on : Facebook and Twitter

Java: Tips of the Day

getEnumMap

Converts to enum to Map where key is the name and value is Enum itself.

public static <E extends Enum<E>> Map<String, E> getEnumMap(final Class<E> enumClass) {
    return Arrays.stream(enumClass.getEnumConstants())
            .collect(Collectors.toMap(Enum::name, Function.identity()));
}

Ref: https://bit.ly/3xXcFZt