import org.junit.Test; /** * ^ : 按位異或 * ------------------------------------ * 按位異或,比較每一個操做數的二進制位,相同置爲0,不一樣置爲1 */ public class Demo { @Test public void testName() throws Exception { System.out.println(101 ^ 101); // 0 System.out.println(112 ^ 112); // 0 System.out.println(101 ^ 112); // 21 System.out.println(112 ^ 101); // 21 /* * 101 ^ 112的值爲何是21? * 邏輯:按位異或,比較每一個操做數的二進制位,相同置爲0,不一樣置爲1 * ------------------------------------- * 0110 0101 // 101 * 0111 0000 // 112 * ---------- * 0001 0101 // 21 */ System.out.println(Integer.toBinaryString(101)); // 1100101 System.out.println(Integer.toBinaryString(112)); // 1110000 System.out.println(Integer.toBinaryString(21)); // 10101 } }