方法一、加减减
a = a + b;
b = a - b;
a = a - b;
方法二、异或运算(只能用于整数)
a = a ^ b;
b = a ^ b;
a = a ^ b;
方法一好理解,加加减减就出来了,关于方法二,个人目前还不是很理解,如果有懂数学证明的不妨留言交流一下。异或运算就是将十进制数转换成二进制后,同位相同则取0,同位相异则取1。
只举例说明一下:
int a = 2 ; 0010
int b = 9; 1001
a = a ^ b ; 0010
^ 1001
a = 1011
b = a ^ b; 1011
^ 1001
b = 0010 = 2
a = a ^ b; 1011
^ 0010
a = 1001 = 9