C++-Programmierung/ Nützliches/ Bitfelder
Zur Navigation springen
Zur Suche springen
Um aus einer Bitfolge gewisse Werte herauszuholen ist es üblich, Bitfelder zu verwenden. Diese beinhalten für jeden Zweck einen konstanten Wert und werden verwendet, um andere Informationen in der Bitfolge auszuschalten. Fangen wir damit an, die Bits von rechts nach links zu zählen und dabei mit 0 zu beginnen. Sind dann z.B. die Bits 2 bis 7 von Interesse, so geht man wie folgt vor:
1const short sMASK = 252; // = 0000.0000.1111.1100;
2short sStatus = 99; // = 0000.0000.0110.0011
3//
4sStatus = sStatus & sMASK; // Man kann auch sStatus &= sMASK schreiben
5//
6if (sStatus == 204) // = 1100.1100, wo jedes Bit eine Bedeutung hat
7 ...