# 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: **

**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.

**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://www.w3resource.com/java-exercises/basic/java-basic-exercise-147.php

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics