黑马程序员技术交流社区

标题: 求问俩数值交换 a和b互换数值 [打印本页]

作者: 陈伟`    时间: 2015-3-16 10:28
标题: 求问俩数值交换 a和b互换数值
int a = 10   int b = 11
  a =  a ^ b ;   b = a ^ b ;  a = a ^ b  ;      真心没看懂
作者: still过客    时间: 2015-3-17 12:41
是 a=a-b;//a保存的是两数之差
b=b+a//b等于b减去两数的差,也就是原来a的值看上一步。
a=b-a;//同上
作者: 奋斗中啊    时间: 2015-3-17 12:47
a =  a ^ b ;
b = a ^ b ;     //就是b=(a^b)^b =a
a = a ^ b  ;    //就是a=(a^b)^a=b
作者: zhangjianbin    时间: 2015-3-17 14:12
你再把基础视频看几遍就看懂了 实在看不懂你也可以背下来
作者: richardchan    时间: 2015-3-17 14:23
异或运算啊,比如:
a = 10 ; b = 11
a = a ^ b = 10 ^ 11 ;
b= a ^ b = 10  ^ 11 ^ 11 =10;
a = a ^ b = 10 ^ 11 ^ 10 = 11 ;
这样两个数就交换了,希望楼主看得懂
作者: kim55666    时间: 2015-3-17 14:24
把他变成二进制,自己算算就明白了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2