Count number of bits to be flipped to convert A to B

Suggested by Dheeraj

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.

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

GATE CS Corner    Company Wise Coding Practice

Writing code in comment? Please use, generate link and share the link here.