美文网首页LeetCode蹂躏集
2018-01-28 使用异或操作实现两个数的交换

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

作者: alexsssu | 来源:发表于2018-01-28 15:47 被阅读0次

原理:异或操作,对于二进制位:如果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

相关文章

网友评论

    本文标题:2018-01-28 使用异或操作实现两个数的交换

    本文链接:https://www.haomeiwen.com/subject/jsfzaxtx.html