1、異或運算符的運算:0^0=0, 1^0=1, 0^1=1, 1^1=0
2、異或運算符可以做兩個整數(即char、short、int、long)的交換:
3、異或運算符的特點是:數a兩次異或同一個數b(a=a^b^b)仍然為原值a
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 }
下面是明確的示例: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);
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
異或只有在整數上有定義,更確切的說,是位運算只在整數上有定義
從最根本的本質來看,將任何數據看做字節的組合,那么按照字節依次做位運算后的結果,也可以達成交換的目的。
從最根本的本質來看,將任何數據看做字節的組合,那么按照字節依次做位運算后的結果,也可以達成交換的目的。