XOR 的反函数是什么?

新手上路,请多包涵

Java 中有 XOR 函数 - a^b

例如: 5^3 = 6

你能告诉我反函数吗?如果我有 63 我可以获得包括数字 5 的数字范围吗?

原文由 A.N.R.I 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 471
2 个回答

逆是异或!

如果你有:

 c = a^b;

如果您有其他可用值,您可以获得 ab 返回:

 a = c^b; // or b^c (order is not important)
b = c^a; // or a^c

例如,如果 a = 5b = 3 (因此 c = 6 正如你提到的)你得到:

 b=0011 (3)            a=0101 (5)
c=0110 (6) XOR   or   c=0110 (6) XOR
----------            ----------
a=0101 (5)            b=0011 (3)

原文由 Veger 发布,翻译遵循 CC BY-SA 3.0 许可协议

XOR 的逆运算是 XOR 本身。

我在 leetcode 上遇到了类似的问题。 力扣1720

原文由 Neel Alex 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题