Sunday, January 8, 2012

Number of BITS to be flipped to convert A to B

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 comment:

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

    Example:

    A = 1001001
    B = 0010101
    a_xor_b = 1011100
    No of bits need to flipped = set bit count in a_xor_b i.e. 4

    ReplyDelete