在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