异或的反函数是什么?

Java-a^b中有 XOR 函数

例如: 5^3 = 6

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

137079 次浏览

反过来就是异或!

如果你有:

c = a^b;

如果你有其他可用的值,你可以得到 a或者 b:

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)

XOR 的反面是 XOR 本身。
我在 leetcode 上遇到过类似的问题

XOR 的反数是 XOR 本身。例如,如果你执行这个操作:

3 ^ 4 = 7

以下陈述属实:

4 ^ 7 = 3


3 ^ 7 = 4

希望这能有所帮助。