Bitweiser Linksschiebeoperator (<<)
Verschiebt die Bits eines Ausdrucks nach links.
expression1 << expression2
Argumente
expression1
Beliebiger numerischer Ausdruck.expression2
Beliebiger numerischer Ausdruck.
Hinweise
Der Leftshiftoperator (<<) verschiebt die Bits von expression1 um die Anzahl der Bits, die in expression2 angegeben sind, nach links. 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
Beispiel:
var temp
temp = 14 << 2
Die temp-Variable hat einen Wert von 56, da 14 (binär 00001110), um zwei Bits nach links verschoben, 56 ergibt (binär 00111000).
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 00111100
// The value of y is 60
print(y); // Prints 60
Anforderungen
Siehe auch
Referenz
Leftshiftzuweisungsoperator (<<=)
Bitweiser Rechtsschiebeoperator (>>)
Vorzeichenloser Rechtsschiebeoperator (>>>)