黑马程序员技术交流社区

标题: 使用异或方式进行互换 [打印本页]

作者: liyudong    时间: 2016-11-3 22:56
标题: 使用异或方式进行互换
1.对两个整数变量的值int x = 5; int y = 3;进行互换。
//使用异或方式
int a = 10;
int b = 20;
a ^= b;
b ^= a;
a ^= b;
System.out.println("a="+a);
System.out.println("b="+b);
10的二进制为1010,20的二进制为10100,30的二进制为11110,按照 异或 的逻辑确实是正确结果,不过为什么这样可以进行互换?
作者: shu307856810    时间: 2016-11-4 00:22
你确定你没写错吗,应该是左边a,b,a右边a^b吧

作者: shu307856810    时间: 2016-11-4 00:23
哦哦  我看错了  你这个没问题

作者: 若白衣卿相    时间: 2016-11-4 00:26
二进制运算,懒得研究

作者: cobblerime    时间: 2016-11-4 22:48
一个数重复异或一个数等于其本身啊。




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