# XOR Operation: Transition From Integer A to Integer B

If you need to know more information about XOR operation, you should read the following sample. After reading, you will know more about the transition from integer A to integer B using bit operations. This example was completed by an IT expert who works with AssignmentShark. If you like this sample, but you need to see more examples on how to solve specific IT problems, you can apply to us for additional assignment help online.

## Transition From Integer A to Integer B Using Bit Operations

At first glance, it seems like a difficult task, but in fact, it is very simple. To solve it, let’s answer the question: “How can I discover the amount of bits which are different in two numbers?” The answer is simple: you should use the XOR operation.

Each unit of the resulting number corresponds to a bit of the number A that does not match a bit in the number B. Therefore, the calculation of a number of mismatched bits in the numbers A and B is reduced to counting the number of units in the number of “A XOR B”:

int calc(int x, int y) {

int amount = 0;

for (int z = x ^ y; z != 0; z = z >> 1) {

amount += z & 1;

}

return amount;

}

This code is good, but we can make it even better. Instead of multiple shears for testing the most significant bit, it will be sufficient to invert the smallest non-zero digit and count how many times we will need to do this operation until the number is zero. Operation z = z & (z – 1) clears the smallest non-zero bits of z number.

The following code implements this method:

public static int calc(int x, int y) {

int amount = 0;

for (int z = x ^ y; z != 0; z = z & (z – 1)) {

amount++;

}

return amount;

}

This is one of the most common tasks to work with bits given in interviews. If you have never faced them, it will be difficult for you to immediately solve the problem, so remember the tricks used here.