什么是XOR的反函数?

167

Java中有XOR函数 - a^b

例如:5^3 = 6

您能告诉我反函数吗?如果我有63,我能得到包括数字5的数字范围吗?

4个回答

336

反之为异或!

如果你有:

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)

24

XOR的逆运算是XOR本身。
我在力扣(Leetcode)上遇到了一个类似的问题。力扣-1720


9
像你一样,LeetCode是一个编程宝藏。 - Jerry An

12
XOR 的反函数是 XOR 本身。例如,如果你进行以下操作:
3 ^ 4 = 7

以下陈述为真:
4 ^ 7 = 3

3 ^ 7 = 4

希望这能有所帮助。


3

XOR 的反运算是它本身。

为了更好地参考和理解,您可以参考 LeetCode 2433


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接