首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

java 按位异或的效能

2012-10-19 
java 按位异或的功能为什么java 按位异或可以实现两个变量的互换。public static void main(String[] args)

java 按位异或的功能
为什么java 按位异或可以实现两个变量的互换。

public static void main(String[] args) {
int i=50;
int j=60;
i=i^j;
j=j^i;
i=i^j;
System.out.println(i);
System.out.println(j);
}
}
求详细解说...

[解决办法]
先自己理解下异或运算是什么概念?

然后用 1个 bit 来模拟下就知道了,因为 1 位 跟 N 位对于异或来说没有任何差异(异或是不存在进位需求的)

异或的特点就是任意数x以及y,有: x ^ y ^ y = x;

根据样例(没有bit这个类型,只是为了描述简单):
bit i=0;
bit j=1;
i=i^j; // i = 0 ^ 1 = 1 不同就是 1
j=j^i; // j = 1 ^ 1 = 0 相同就是 0
i=i^j; // i = 1 ^ 0 = 1 不同就是 1

热点排行