134

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

例えば:5^3 = 6

逆関数を教えてもらえますか?私が持っていて63番号を含む番号の範囲を取得できます5か?

4

3 に答える 3

287

逆はXORです!

あなたが持っている場合:

c = a^b;

あなたが利用可能な他の価値を持っているならば、あなたは得るaか、または戻ることができます:b

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

たとえばa = 5b = 3(したがってc = 6、あなたが述べたように)の場合、次のようになります。

b=0011 (3)            a=0101 (5)
c=0110 (6) XOR   or   c=0110 (6) XOR
----------            ----------
a=0101 (5)            b=0011 (3)
于 2013-01-11T14:14:19.103 に答える
15

XORの逆はXOR自体です。
私はleetcodeで同様の問題に遭遇しました。Leetcode-1720

于 2021-02-06T01:09:19.887 に答える
2

XORの逆はXOR自体です。たとえば、この操作を行う場合:

3 ^ 4 = 7

次のステートメントは正しいです:

4 ^ 7 = 3

3 ^ 7 = 4

うまくいけば、これが役立ちます。

于 2021-12-23T14:46:18.910 に答える