Kiedy zacząłem pracować, programista asemblera na komputerze mainframe pokazał mi, jak zamieniają się na wartości bez korzystania z tradycyjnego algorytmu:
a = 0xBABE
b = 0xFADE
temp = a
a = b
b = temp
To, czego używali do zamiany dwóch wartości - z nieco na duży bufor - to:
a = 0xBABE
b = 0xFADE
a = a XOR b
b = b XOR a
a = a XOR b
teraz
b == 0xBABE
a == 0xFADE
co zamieniło zawartość 2 obiektów bez potrzeby utrzymywania trzeciej temperatury.
Moje pytanie brzmi: czy ten algorytm wymiany XOR jest nadal w użyciu i gdzie nadal ma zastosowanie?