W informatyce często zachodzi potrzeba zamiany wartości dwóch zmiennych (ang. swap).

Standardowy, prawie zawsze używany algorytm zamiany wymaga chwilowego kopiowania jednej ze zmiennych: funkcja swap(zmienna a, zmienna b)

zmienna c:=a; a:=b; b:=c;

Możliwa jest także zamiana zmiennych bez użycia tymczasowej zmiennej.

Zamiana za pomocą dodawania i odejmowania Zamiana wartości zmiennych typu liczba całkowita bez dodatkowej zmiennej tymczasowej, za pomocą dodawania i odejmowania:

funkcja swap(integer a, integer b) { a:=a+b; b:=a-b; a:=a-b;

Algorytm ten nie działa na systemach sprawdzających przekroczenia zakresu liczb całkowitych.

Zamiana za pomocą operacji XOR Zamianę wartości zmiennych można także zrealizować za pomocą operacji XOR:

funkcja swap(integer a, integer b) { a := a XOR b b := a XOR b a := a XOR b

W tym algorytmie nie dochodzi do przekraczania zakresu liczb całkowitych, ani nie jest wymagana zmienna tymczasowa. Na współczesnych procesorach jest jednak zbyt wolny. Używa się go w niektórych systemach wbudowanych, gdzie ilość dostępnego miejsca dla zmiennych jest bardzo ograniczona.