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.

On AssignmentShark, you can order different examples that will help you with your tasks. All of our experts possess vast knowledge in a variety of spheres. Also, all of them are experienced in dealing with academic assignments. Therefore, you can make even urgent orders. You should also be aware of the fact that our service protects your privacy. We will not share your personal information with third parties. If you would like to get more information on XOR operation or any other topics, contact us right away. Our support team is available 24/7!

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.

Thanks for your attention!

Leave a Reply

Your email address will not be published. Required fields are marked *

Customer testimonials

Submit your instructions to the experts without charge.