Quando ho iniziato a lavorare un programmatore di assemblatori di mainframe mi ha mostrato come scambiano i valori senza usare l'algoritmo tradizionale di:
a = 0xBABE
b = 0xFADE
temp = a
a = b
b = temp
Quello che usavano per scambiare due valori - da un bit a un buffer di grandi dimensioni - era:
a = 0xBABE
b = 0xFADE
a = a XOR b
b = b XOR a
a = a XOR b
adesso
b == 0xBABE
a == 0xFADE
che ha scambiato il contenuto di 2 oggetti senza la necessità di un terzo spazio di conservazione della temperatura.
La mia domanda è: l'algoritmo di scambio XOR è ancora in uso e dove è ancora applicabile?