У Java є функція XOR - a^b
Наприклад: 5^3 = 6
Чи можете ви сказати мені обернену функцію? Якщо я маю 6
і чи 3
можу я отримати діапазон чисел, які включають номер 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)