【发布时间】:2012-12-26 03:15:24
【问题描述】:
Java 中有 XOR 函数 - a^b
例如:5^3 = 6
你能告诉我反函数吗?如果我有6 和3,我可以得到包含数字5 的数字范围吗?
【问题讨论】:
Java 中有 XOR 函数 - a^b
例如:5^3 = 6
你能告诉我反函数吗?如果我有6 和3,我可以得到包含数字5 的数字范围吗?
【问题讨论】:
逆是异或!
如果你有:
c = a^b;
如果您有其他可用值,您可以取回a 或b:
a = c^b; // or b^c (order is not important)
b = c^a; // or a^c
例如,如果a = 5、b = 3(以及你提到的c = 6)你会得到:
b=0011 (3) a=0101 (5)
c=0110 (6) XOR or c=0110 (6) XOR
---------- ----------
a=0101 (5) b=0011 (3)
【讨论】:
XOR 的逆是 XOR 本身。
我在 leetcode 上遇到了类似的问题。 Leetcode-1720
【讨论】:
异或的逆是异或本身。例如,如果您进行此操作:
3 ^ 4 = 7
以下说法正确:
4 ^ 7 = 3
3 ^ 7 = 4
希望这会有所帮助。
【讨论】: