什么是异或的反函数?

问题描述 投票:0回答:5

Java中有XOR函数 -

a^b

例如:

5^3 = 6

你能告诉我反函数吗?如果我有

6
3
我可以获得包含数字
5
的数字范围吗?

java xor inverse
5个回答
333
投票

逆运算是异或!

如果您有:

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)

23
投票

XOR 的逆就是 XOR 本身。
我在leetcode上也遇到过类似的问题。 Leetcode-1720


11
投票

XOR 的逆就是 XOR 本身。例如,如果您执行此操作:

3 ^ 4 = 7

以下陈述正确:

4 ^ 7 = 3

3 ^ 7 = 4

希望这有帮助。


3
投票

XOR 的逆就是 XOR 本身。

为了更好的参考和理解,你可以参考LeetCode 2433


0
投票

同或

如果执行操作的布尔值相等(均为 true 或均为 false),则返回 true。

© www.soinside.com 2019 - 2024. All rights reserved.