In programming, a common task is to swap the values of two variables. Lines 40-60 of the program below perform the swap using a temporary variable (T).
10 A=123
20 B=456
30 PRINT A,B
40 T=A
50 A=B
60 B=T
70 PRINT A,B
Rewrite the program to swap the values in A and B without using a temporary variable.
Note: The new program will not require sophisticated programming or complex math.
(In reply to
re: other solutions by Tristan)
My understanding of the XOR function is that it takes the contents of two computer words and does their bit-by-bit "exclusive or" (the input bits have to be different to yield a 1 as the output bit). Assuming 4-bit computer words, for example, XOR(1111,1010)=0101 (i.e. bit by bit complement). An example oriented toward the problem: XOR(1001,0010)=1011, and XOR(1011,1001)=0010 while XOR(1011,0010)=1001.
Edited on January 2, 2004, 11:45 pm
|
Posted by Richard
on 2004-01-02 21:47:58 |