![]() Vorherige Seite |
![]() Eine Ebene hoch |
![]() Nächste Seite |
---|
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.