Digamos que temos duas variáveis a
e b
queremos trocar seus valores:
int a = 5;
int b = 9;
De maneira clássica, geralmente usamos uma tmp
variável temporária para nos ajudar a fazer o truque:
int tmp = a; // tmp = 5
a = b; // a = 9
b = tmp; // b = 5
Isso também é possível sem usar tmp
. Só precisamos fazer algumas operações de bit XOR:
a = a xor b; // a = 12
b = a xor b; // b = 5
a = a xor b; // a = 9
Leia o artigo completo em http://betterexplained.com .