C++-Programmierung/ Nützliches/ Shiftoperatoren im Original

Aus Wikibooks


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