在Java中,或和異或是兩種常用的位運算符。它們的作用是通過二進制的方式實現(xiàn)對變量的操作。下面我們來了解一下它們分別是如何使用的。
// 或運算符 int a = 2; // 0010 int b = 5; // 0101 int c = a | b; // 0111 System.out.println(c); // 輸出 7 // 異或運算符 int a = 2; // 0010 int b = 5; // 0101 int c = a ^ b; // 0111 System.out.println(c); // 輸出 3
或運算符是通過將兩個操作數(shù)的二進制表示進行或運算,將結(jié)果存儲到一個新的變量中。其實現(xiàn)原理為,只要兩個操作數(shù)中有一個位為1,那么結(jié)果的對應位就為1。在上述代碼中,變量a和b的二進制表示為0010和0101,經(jīng)過或運算之后得到的結(jié)果為0111,即十進制的7。
異或運算符是通過將兩個操作數(shù)的二進制表示進行異或運算,將結(jié)果存儲到一個新的變量中。其實現(xiàn)原理為,如果兩個操作數(shù)的對應位相同,則結(jié)果為0,否則結(jié)果為1。在上述代碼中,變量a和b的二進制表示為0010和0101,經(jīng)過異或運算之后得到的結(jié)果為0011,即十進制的3。