2017-07-15 2 views
0

ich eine Eignungsprüfung vor kurzem gab und hatte dieses Stück Code:Was bedeutet „>>>“ Operator tun in Java

public class MainClass{ 
    public static void main(String[] argv){ 
     int x = 0x80000000; 
     x = x >>> 31; 
     System.out.println(x); 
    } 
} 

Zuerst dachte ich, es irgendeine Art von Fehler sein muss, aber das eine gibt gültige Ausgabe von 1. Mit x >> 31 ist der Ausgang -1, was verständlich ist, aber was macht das extra >?

Antwort

1

Es heißt unsigned shift right was bedeutet, dass es immer Nullen auffüllt, unabhängig vom Vorzeichen des ursprünglichen Int.