Flipping bits



Problem find the flipping bits.



Example-1



if n1 = 8 and n2 = 3 ->

8 binary value  = 1  0  0  0
3 binary value  = 0  0  1  1

Number of flipping bits are 3.



Example-2



if n1 = 16 and n2 = 4 ->

16 binary value  = 1  0  0  0  0
4 binary value   = 0  0  1  0  0

Number of flipping bits are 2.










Solution




n1 = 8

n2 = 3

k = 0

n1 = bin(n1)

n2 = bin(n2)

n1 = n1[2:]

n2 = n2[2:]

if(len(n1) == len(n2)):

    n1 = n1

    n2 = n2

elif(len(n1)<len(n2)):

    a = len(n2)-len(n1)

    b = "0"*a + n1

    n1 = b

else:

    c = len(n1)-len(n2)

    d = "0" * c + n2

    n2 = d

for i in range(len(n1)):

    if(n1[i] != n2[i]):

        k += 1

print(k)



Output



3