Domanda

There is XOR function in Java - a^b

For exemple: 5^3 = 6

Can you tell me inverse function? If I have 6 and 3 can i get range of numbers which include number 5?

È stato utile?

Soluzione

The inverse is XOR!

If you have:

c = a^b;

You can get a or b back if you have the other value available:

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

For example if a = 5, b = 3 (and thus c = 6 as you mentioned) you get:

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

Altri suggerimenti

The inverse of XOR is XOR itself.
I came across a similar problem on leetcode. Leetcode-1720

The inverse of XOR is XOR itself. For example if you take this operation :

3 ^ 4 = 7

The following statements are true :

4 ^ 7 = 3

3 ^ 7 = 4

Hopefully, this helps.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top