Vorherige Seite

Eine Ebene hoch

Nächste Seite

2.5.6.3 Bit-Verschiebung

Die Operatoren zur Bit-Verschiebung verschieben die dualen Ziffern um eine gewünschte Anzahl von Ziffern. Beispiel: Der Ausdruck

    0x02 << 3    /* dual: 00000010 << 3 */

hat als Ergebnis 0x10 (dual: 00010000).

Eine Verschiebung um N Stellen nach links kommt einer Multiplikation mit 2N gleich.

Bei einer Verschiebung nach links werden die neuen Stellen mit null aufgefüllt. Wird ein Wert mit Typ unsigned nach rechts verschoben wird ebenfalls mit null aufgefüllt. Wird ein vorzeichnbehafteter Wert nach rechts geschoben, so wird maschinenabhängig entweder mit dem Vorzeichenbit (arithmetic shift) oder mit null (logical shift) aufgefüllt.