1. ホーム
  2. java

[解決済み] XORの逆関数とは何ですか?

2022-01-30 17:27:53

質問

JavaにはXOR関数があります。 a^b

例として 5^3 = 6

逆関数を教えてください。もし、私が 63 を含む数値の範囲を取得することは可能ですか? 5 ?

解決方法は?

逆はXOR!

持っている場合

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)