How can I implement XOR using basic mathematical operators like +,-,*,/
Update: Actually, I need to track change in two matrix having Boolean values. T
This works because:
(a − b)² = a * (a − b) + b * (b − a)
Since multiplication in ℤ₂ is conjuction (&
), and 1 - a
is negation (!
), the above formula is equivalent to XOR for a, b ∈ {0, 1}
:
(a & !b) | (b & !a)
See the comment below by Pascal Cuoq explaining why this cannot be a linear equation.