python - 如何反转按位或运算?

标签 python bit-manipulation bitwise-operators bitwise-or

这是我所做的:

93 | 199

返回

223

我明白这是因为 0b1011101 | 0b110001110b11011111

但是,假设我想做反向操作。如何从 0b110001110b11011111 之间的位运算中获取 0b1011101

最佳答案

在一般情况下你无法得到明确的答案。如果 C=A|B,那么无论 C 中有 1 还是 B 中有 1,A 的相应位可能是 0 或 1。 p>

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

关于python - 如何反转按位或运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26727044/

相关文章:

python - 当您不是 super 用户时如何安装 numpy?

python - 如何在 Python 中解析 C 格式字符串?

python - 哪个标记在此箭头调用中无效?

c++ - 移动大数字

algorithm - 无除法快速平均

vb.net - 如何在 VB.NET 中进行按位与运算?

python - matplotlib 中的表格图例

c++ - 从 32 位数据类型中有效地删除 2 位

objective-c - 字段打包字节返回意外结果

c# - 了解整数上单个与号运算符 (&) 的行为