17 若執行以下的 Java 程式碼,則螢幕上的輸出為下列何者?
public class Operator{
public static void main(String[] args){
int a = 6;
System.out.println(6^2);
}
}
(A)1
(B)4
(C)6
(D) 36
答案:登入後查看
統計: A(2), B(46), C(25), D(138), E(0) #3481530
統計: A(2), B(46), C(25), D(138), E(0) #3481530
詳解 (共 1 筆)
#6709385
在 Java 中,^ 不是次方運算,而是位元異或運算子(bitwise XOR)。
-
6 的二進位表示:0000 0110
-
2 的二進位表示:0000 0010
進行 XOR 運算(相同為 0,不同為 1):
程式碼
0000 0110 (6)
0000 0010 (2) ^
-------------
0000 0100 (4)
因此 6 ^ 2 的結果是 4,System.out.println(6^2); 會輸出 4。
-
&:位元 AND
-
|:位元 OR
-
^:位元 XOR(異或)
-
~:位元 NOT(取補數)
3
0