我正在理解>>>
的工作原理。要做到這一點我有這樣的程序:>>>操作員如何在Java中工作
public class Main {
public static void main(String[] args)
{
short i = 130;
byte b = (byte)i;
String a = Integer.toBinaryString(256 + (int) b);
System.out.println(Integer.toBinaryString(i));
System.out.println(a.substring(a.length() -8));
System.out.println(b);
byte c = (byte) (b >>> 2);
String x = Integer.toBinaryString(256 + (int) c);
System.out.println(x.substring(x.length() -8));
System.out.println(c);
}
}
而且我得到這樣的輸出:
10000010
10000010
-126
11100000
-32
要顯示二進制,我發現here如何顯示一個字節的二進制字符串。
操作>>>
會增加零,但我得到這個:
-126
11100000
-63
相反的:
-126
10100000
-32
它增加了0代替1:
11100000
10100000
什麼時我做錯了?也許我什麼都不懂。
@DanielDiPaolo錯誤。此外,我覺得這個問題已經在 – Woot4Moo 2012-07-17 16:36:25
@DanielDiPaolo'>>>'是一個零填充右移。 – Mysticial 2012-07-17 16:36:45