在Python中检查其中一个数字是否是另一个的补数
假设我们有两个数字x和y。我们必须检查这两个数字之一是否为另一个的1的补码。我们都知道二进制数的1的补码是将所有位从0翻转到1或从1翻转到0。
因此,如果输入类似于x=9,y=6,则输出将为True,因为二进制表示形式是x=1001和y=0110,它们是互补的。
示例
让我们看下面的实现以更好地理解-
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))输入
9, 6输出结果
True