[Back to NUMBERS SWAG index]  [Back to Main SWAG index]  [Original]

{
>Is there a way (using bit manipulations such as AND, OR, XOR) to
>swap to Variables without making a 3rd temporary Variable?
>

If the two Variables are numbers, and the following operations
won't overflow the limitations of the Type, then yes, you can
do it like this:
}
Var
   A, B : Integer;

begin
   A := 5;
   B := 3;

   A := A + B;
   B := A - B;
   A := A - B;

   { which is

   A := 5 + 3 (8)
   B := 8 - 3 (5)
   A := 8 - 5 (3)

   A = 3
   B = 5 }

end;

[Back to NUMBERS SWAG index]  [Back to Main SWAG index]  [Original]