Suggested by Dheeraj
Question: You are given two numbers A and B. Write a program to count number of bits needed to be flipped to convert A to B.
1. Calculate XOR of A and B. a_xor_b = A ^ B 2. Count the set bits in the above calculated XOR result. countSetBits(a_xor_b)
XOR of two number will have set bits only at those places where A differs from B.
A = 1001001 B = 0010101 a_xor_b = 1011100 No of bits need to flipped = set bit count in a_xor_b i.e. 4
To get the set bit count please see this post: Count set bits in an integer