XORの逆関数とは何ですか?


95

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

例えば: 5^3 = 6

逆関数を教えてもらえますか?私が持っている場合63、私は番号が含ま番号の範囲を得ることができますか5

回答:


202

逆は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)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.