1.求和
procedure swapInt(va, vb : Integer) ;
begin
ShowMessage(IntToStr(va) + ' -- ' + IntToStr(vb) ) ;
va := va + vb ;
vb := va - vb ;
va := va - vb ;
ShowMessage(IntToStr(va) + ' -- ' + IntToStr(vb) ) ;
end;
局限性:Integer 值有上界,当va和vb的值非常大,容易超出Integer范围,损失精度
2.异或(一个数经过两次异或后是其本身)
procedure swapInt(va, vb : Integer) ;
begin
ShowMessage(IntToStr(va) + ' -- ' + IntToStr(vb) ) ;
va := va xor vb ;
vb := va xor vb ;
va := va xor vb ;
ShowMessage(IntToStr(va) + ' -- ' + IntToStr(vb) ) ;
end;