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