C++-Programmierung/ Nützliches/ Bitmasken

Aus Wikibooks


Um festzustellen, ob ein Bit gesetzt (d.h. gleich eins) oder gelöscht ist, werden oft Bitmasken verwendet. Fangen wir damit an, die Bits von rechts nach links zu zählen und dabei mit 0 zu beginnen. Ist angenommen im 5. Bit der Wert der Interesse, geht man wie folgt vor:

const short sMASK = 32;    // = 0000.0000.0010.0000;
short sStatus = 99;        // = 0000.0000.0110.0011
//
if (sStatus & sMASK)       // Ist das Bit gesetzt, haben wir 1 und sonst 0
  ...                      // Hier geht's nun weiter, denn Bit 5 = 1