可以采用a、b之间的加减运算来实现:
a = a + b;
b = a- b;
a = a - b;
这样做的缺点是如果a、b是比较大的两个数,进行相加求和时就会超界。
用异或(位运算符^,也即互斥,对应位只有一个为1时结果为1,否则为0)则不用担心越界问题:
a = a^b;
b = a^b;
a = a^b;
注:
摘自《程序员面试宝典》
可以采用a、b之间的加减运算来实现:
a = a + b;
b = a- b;
a = a - b;
这样做的缺点是如果a、b是比较大的两个数,进行相加求和时就会超界。
用异或(位运算符^,也即互斥,对应位只有一个为1时结果为1,否则为0)则不用担心越界问题:
a = a^b;
b = a^b;
a = a^b;
摘自《程序员面试宝典》