Home

Bitmasken

Bitmasken sind Ganzzahlwerte, deren Bits als Flags dienen. Durch die Zuordnung einzelner Bitpositionen zu Bedeutungen lässt sich eine Menge von booleschen Informationen kompakt kodieren. Bitmasken werden häufig mit bitweisen Operationen verwendet, um Bits zu testen, zu setzen, zu löschen oder zu invertieren.

Typische Einsatzgebiete sind Berechtigungen in Betriebssystemen, Feature-Flags in Software, Status- und Steuerbits in Protokollen sowie kompakte

Die Funktionsweise beruht auf den Schlüsseloperationen AND, OR, XOR und NOT sowie Bitverschiebungen. Um Bits zu

- Prüfen: (flags & MASK) != 0

- Setzen: flags |= MASK

- Löschen: flags &= ~MASK

- Toggle: flags ^= MASK

Bitmasken werden häufig durch Verschieben definiert, z. B. READ = 1 << 0, WRITE = 1 << 1, EXECUTE = 1

#define READ (1 << 0)

#define WRITE (1 << 1)

#define EXECUTE (1 << 2)

unsigned int flags = 0;

flags |= READ; // setzen

flags &= ~WRITE; // löschen

bool hasRead = (flags & READ) != 0;

flags ^= EXECUTE; // toggle

Sprachenabhängig unterstützen Bitmasken verschiedene Muster. In C/C++ sind Flags oft in Enums realisiert; Java bietet Bitmasken

Repräsentationen
in
Speicherdaten.
Als
Beispiel
dienen
oft
Klarstellungen
wie
Lese-,
Schreib-
und
Ausführungsrechte
oder
Server-Flags,
die
in
einem
einzelnen
Integer
zusammengefasst
sind.
prüfen,
zu
setzen,
zu
löschen
oder
zu
wechseln,
werden
Masken
verwendet.
Allgemeine
Muster:
<<
2.
Beispiele
in
C-ähnlicher
Syntax:
über
primitive
Typen,
in
Python
stehen
unveränderliche
Integers
zur
Verfügung.
Die
Vorteile
liegen
in
der
kompakten
Repräsentation
und
schnellen
Operationen,
während
Lesbarkeit
und
Wartbarkeit
bei
vielen
Masken
zunehmen.
Eine
klare
Dokumentation
der
einzelnen
Bits
erleichtert
Wartung
und
Fehlersuche.