1、异或运算符的运算:0^0=0, 1^0=1, 0^1=1, 1^1=0
2、异或运算符可以做两个整数(即char、short、int、long)的交换:
1 public static void intSwap(int int1, int int2) {
2 int1 = int1^int2;
3 int2 = int1^int2;
4 int1 = int1^int2;
5 }
下面是明确的示例:
1 int x = 1984;
2 int y = 2009;
3 x = x^y;
4 y = y^x;
5 x = y^x;
6 // x: 2009;
7 System.out.println("x: " + x);
8 // y: 1984
9 System.out.println("y: " + y);
3、异或运算符的特点是:数a两次异或同一个数b(a=a^b^b)仍然为原值a
异或只有在整数上有定义,更确切的说,是位运算只在整数上有定义
从最根本的本质来看,将任何数据看做字节的组合,那么按照字节依次做位运算后的结果,也可以达成交换的目的。
posted on 2009-04-21 16:04
狼人 阅读(760)
评论(0) 编辑 收藏 所属分类:
Java