Freigeben über


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

Version 1

Siehe auch

Referenz

Leftshiftzuweisungsoperator (<<=)

Bitweiser Rechtsschiebeoperator (>>)

Vorzeichenloser Rechtsschiebeoperator (>>>)

Konzepte

Operatorrangfolge

Zusammenfassung der Operatoren

Umwandlung durch bitweise Operatoren