可以采用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;摘自《程序员面试宝典》
1608

被折叠的 条评论
为什么被折叠?