Vorzeichenloser Rechtsschiebeoperator (>>>)
Verschiebt die Bits eines Ausdrucks ohne Beibehaltung des Vorzeichens nach rechts.
expression1 >>> expression2
Argumente
expression1
Ein beliebiger numerischer Ausdruck.expression2
Ein beliebiger numerischer Ausdruck.
Hinweise
Der vorzeichenlose Rightshiftoperator (>>>) verschiebt die Bits von expression1 um die Anzahl der Bits, die in expression2 angegeben sind, nach rechts. Von links wird mit Nullen aufgefüllt. Nach rechts verschobene Stellen entfallen. Der Datentyp von expression1 bestimmt den Datentyp, der von diesem Operator zurückgegeben wird.
Der >>>‑Operator maskiert expression2, um zu verhindern, dass expression1 zu weit verschoben wird. Andernfalls, d. h., wenn die Verschiebung die Anzahl der Bits im Datentyp von expression1 überschreitet, werden alle ursprünglichen Bits so verschoben, dass ein triviales Ergebnis zurückgegeben wird. Um sicherzustellen, dass bei jeder Verschiebung mindestens eines der ursprünglichen Bits bestehen bleibt, berechnen die Schiebeoperatoren den tatsächlichen Verschiebebetrag anhand folgender Formel: expression2 (mithilfe des bitweisen Operators AND) mit einem Wert maskieren, der um eins kleiner ist als die Anzahl der Bits in expression1.
Beispiel
Beispiele:
var temp
temp = -14 >>> 2
Das variable temp-Verzeichnis besitzt den Anfangswert -14 (11111111 11111111 11111111 11110010 in binären Zweierkomplementen). Bei Verschiebung um zwei Bits nach rechts entspricht der Wert 1073741820 (00111111 11111111 11111111 11111100 in Binärdatei).
Betrachten Sie die Funktionsweise der Maskierung anhand des folgenden Beispiels.
var x : byte = 15;
// A byte stores 8 bits.
// The bits stored in x are 00001111
var y : byte = x >>> 10;
// Actual shift is 10 & (8-1) = 2
// The bits stored in y are 00000011
// The value of y is 3
print(y); // Prints 3
Anforderungen
Siehe auch
Referenz
Vorzeichenloser Rightshiftzuweisungsoperator (>>>=)
Bitweiser Linksschiebeoperator (<<)
Bitweiser Rechtsschiebeoperator (>>)