Bit Operatoren

Die Bitoperatoren von C++ ermöglichen die binäre Bearbeitung von Variablen. Es lassen sich die Bits im Speicher mit Hilfe dieser Operatoren entsprechend bearbeiten.
Mit Hilfe des Shiftoperators lassen sich Bits nach links (<<,<<=) oder nach rechts (>>,>>=) shiften. Die Operatoren >>,<< dient in C++ auch als Ein- und Ausgabeoperator für Streams, daher haben sie im Code häufig diese Bedeutung. Bei einer Zuweisung ist es jedoch dann der bitweise Shiftoperator.

Das bitweise verknüpfen von Variablen geht mit folgenden Operatoren:
  • bitweises UND / AND ( &, &=)
  • bitweises ODER / OR ( |, |=)
  • bitweises XOR ( ^, ^=)
  • bitweises Komplement/NOT ( ~,  ~=)
Der | Operator wird gerne zum kombinieren von Flags in vielen Frameworks eingesetzt. Der & Operator hat in C++ ein Doppelleben, er dient vor einer Variablen auch als Adressoperator, und liefert die Speicheradresse der Variablen zurück:
char ca=255;
bool b = (ca&1)//(1)
char* pc = &ca;//(2)


  1. Hier wird überprüft ob das erste Bit gesetzt ist.
  2. Bei dieser Verwendung dient & als Adressoperator, die Speicheradresse von ca wird im Pointer pc gespeichert.