在這段 Java 程式片段中,我們使用了位操作運算符來對整數進行操作。讓我們逐步分析每個操作並確定輸出的結果。
java
複製程式碼
int a = 10;
int b = 20;
System.out.println(a << 2);
System.out.println(b >> 2);
int c = a | b;
System.out.println(c);
分析
位移操作:左移 <<
java
複製程式碼
System.out.println(a << 2);
a << 2 是將 a 的二進制表示左移 2 位。左移操作會將數字乘以 2 的次方。
a = 10 的二進制表示是 0000 1010
左移 2 位得到 0010 1000,這是十進制的 40
因此,System.out.println(a << 2); 的輸出是 40。
位移操作:右移 >>
java
複製程式碼
System.out.println(b >> 2);
b >> 2 是將 b 的二進制表示右移 2 位。右移操作會將數字除以 2 的次方,並取整數部分。
b = 20 的二進制表示是 0001 0100
右移 2 位得到 0000 0101,這是十進制的 5
因此,System.out.println(b >> 2); 的輸出是 5。
位或操作 |
java
複製程式碼
int c = a | b;
System.out.println(c);
a | b 是將 a 和 b 的二進制表示進行位或操作。位或操作會在每一位上執行 OR 操作,只要有一個位是 1,結果就是 1。
a = 10 的二進制表示是 0000 1010
b = 20 的二進制表示是 0001 0100
a | b 的結果是 0001 1110,這是十進制的 30
因此,System.out.println(c); 的輸出是 30。
總結
java
複製程式碼
int a = 10;
int b = 20;
System.out.println(a << 2); // 輸出 40
System.out.println(b >> 2); // 輸出 5
int c = a | b;
System.out.println(c); // 輸出 30
最終答案
這段程式片段的輸出結果是:
複製程式碼
40
5
30