交换两个整数,要求不能用一二则运算表达式,不得使用中间变量

emmm,题目就是这样,看到第一段话心里很高兴,因为有许多解法可以用,看到第二句脸瞬间阴沉了....,看到最后就....

这个问题可以用按位或(^)的方法求解,按位或的处理思想是二进制位相同为0,不同为1,举个例子:

a=3,b=2
a=a^b=1
b=a^b=3
a=a^b=2
 
这样,a和b就实现了交换,而且过程中没有用到一二则运算和中间变量。
posted @ 2020-08-04 09:34  HexThinking  阅读(127)  评论(0编辑  收藏  举报