2018-01-28 使用异或操作实现两个数的交换

原理:异或操作,对于二进制位:如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。对于十进制数:两个相同的数异或操作后等于0;
条件:a != b,且 a+b不会溢出。
操作:

a = a ^ b; // a内储存的是a^b
b = a ^ b; // b内储存的是a^b^b = a
a = a ^ b; // a内储存的是a^b^a = b
    原文作者:alexssssu
    原文地址: https://www.jianshu.com/p/ca09b725feac
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞