如何反转按位或运算?

人气:963 发布:2022-10-16 标签: python bit-manipulation bitwise-operators bitwise-or

问题描述

以下是我所做的:

93 | 199

返回

223

我理解这是因为0b1011101 | 0b110001110b11011111

然而,假设我要执行相反的操作。如何从0b110001110b11011111之间的按位运算中获取0b1011101

推荐答案

一般情况下无法得到明确的答案。如果C=A|B,则无论您在C中有1,在A中有1,B的对应位可能是0或1。

在您的示例中,93|199=223,但92|199也是223。因此,给定223和199,没有单一的答案(事实上,在本例中有32个可能的答案)。

675