Syntax error Check if one of the numbers is one’s complement of the other in Python

Check if one of the numbers is one’s complement of the other in Python



Suppose we have two numbers x and y. We have to check whether one of these two numbers is 1's complement of the other or not. We all know the 1's complement of a binary number is flipping all bits from 0 to 1 or 1 to 0.

So, if the input is like x = 9, y = 6, then the output will be True as the binary representations are x = 1001 and y = 0110 which are complement of each other.

To solve this, we will follow these steps −

  • z = x XOR y
  • return true when all bits in z are set, otherwise false

Example

Let us see the following implementation to get better understanding −

 Live Demo

def all_one(n):
   if n == 0:
      return False;
   if ((n + 1) & n) == 0:
      return True
   return False
def solve(x, y):
   return all_one(x ^ y)
x = 9
y = 6
print(solve(x, y))

Input

9, 6

Output

True
Updated on: 2021-01-19T05:28:55+05:30

616 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements