Wie implementieren Sie XOR mit + - * /?

Wie kann die XOR-Operation (für zwei 32-Bit-Ints) nur mit grundlegenden arithmetischen Operationen implementiert werden? Müssen Sie es bitweise tun, nachdem Sie nacheinander durch jede Zweierpotenz dividiert haben, oder gibt es eine Abkürzung? Die Ausführungsgeschwindigkeit ist mir weniger wichtig als der einfachste und kürzeste Code.

Bearbeiten Dies ist keine Hausaufgabe, sondern ein Rätsel auf einem @ gestel hacker.org. Der Punkt ist, XOR auf einer stapelbasierten virtuellen Maschine mit sehr begrenzten Operationen zu implementieren (ähnlich dem brainfuck Sprache und ja - keine Verschiebung oder Mod). Die Verwendung dieser VM ist der schwierige Teil, der natürlich durch einen kurzen und einfachen Algorithmus erleichtert wird.

Während die Lösung von FryGuy clever ist, muss ich mich an mein ursprüngliches Ideal halten (ähnlich der von litb), da Vergleiche auch in dieser Umgebung schwierig zu verwenden sind.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage