C++-Programmierung/ Nützliches/ Shiftoperatoren im Original
Erscheinungsbild
Die Verschiebungsoperatoren C++ sind zweierlei: Verschieben nach rechts (>>
) und nach links (<<
), wobei der Wert der Variable zur Linken jedes Mal entsprechend durch zwei geteilt oder mit zwei multipliziert wird. Das Bit ganz rechts oder ganz links fällt sozusagen aus der Zahl "heraus", am anderen Ende wird "mit Nullen aufgefüllt". Der Zahlenwert zur Rechten des Verschiebungsoperators gibt an, um wieviele Bits "geschoben" wird. Für negative Werte ist das Ergebnis undefiniert. Für die Beispiele nehmen wir an, dass die short-Variable x
den Wert 19.041 = 0100.1010.0110.00012 hat.
Verschiebungsoperation | Verschiebungsoperator | Beispiel |
---|---|---|
nach rechts verschieben | >> |
x >> 1 = 0010.0101.0011.00002
|
nach links verschieben | << |
x << 1 = 1001.0100.1100.00102
|
um drei Bit nach rechts verschieben | >> |
x >> 3 = 0000.1001.0100.11002
|