Was ist die Umkehrfunktion zu XOR?

83

Es gibt eine XOR-Funktion in Java - a^b

Zum Beispiel: 5^3 = 6

Kannst du mir die Umkehrfunktion sagen? Wenn ich habe 6und 3kann ich einen Zahlenbereich bekommen, der Zahlen enthält 5?

ANRI
quelle

Antworten:

181

Das Gegenteil ist XOR!

Wenn Sie haben:

c = a^b;

Sie können zurück aoder bzurück, wenn Sie den anderen Wert zur Verfügung haben:

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

Zum Beispiel , wenn a = 5, b = 3(und damit , c = 6wie Sie erwähnt) erhalten Sie:

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

Die Umkehrung von XOR ist XOR .....

dty
quelle