Co to jest funkcja odwrotna do XOR?


91

W Javie jest funkcja XOR - a^b

Na przykład: 5^3 = 6

Czy możesz mi powiedzieć funkcję odwrotną? Jeśli mam 6i 3czy mogę uzyskać zakres liczb obejmujący liczbę 5?

Odpowiedzi:


194

Odwrotnością jest XOR!

Jeśli masz:

c = a^b;

Możesz otrzymać alub bzwrócić, jeśli masz dostępną inną wartość:

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

Na przykład, jeśli a = 5, b = 3(a zatem c = 6, jak wspomniano) można uzyskać:

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.