黑马程序员技术交流社区
标题:
怎么从原理上理解按位异或能交换两个数的值呢
[打印本页]
作者:
Abuzzworld
时间:
2015-10-1 21:35
标题:
怎么从原理上理解按位异或能交换两个数的值呢
int a=10,b=9;
a=a^b;
b=a^b;
a=a^b;
NSLog(@"\na = %d\nb = %d",a,b);
这样做就能交换a和b的值,但是原理上是怎么一回事啊
作者:
dai2686779
时间:
2015-10-1 22:11
原理就是一个数连续异或另一个数两次,结果等于这个数本身,你把ab都用数字带入。然后一步一步的看。就明白了
作者:
洪吉童
时间:
2015-10-1 22:37
还没学到啊
作者:
i_iOS
时间:
2015-10-1 23:11
^异或运算:对应的二进制不同时为1,结果为1,否则为0
依次带入公式即可
作者:
lvguodong
时间:
2015-10-1 23:19
int a=10,b=9;
a=a^b;
b=a^b;
a=a^b;
a=a^b === 3=10^9;
b=a^b === 10=3^9;
a=a^b === 9=3^10;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2