Zum Hauptinhalt springen

Bitweise Operatoren und Flags

&, |, ^, ~, << und >> arbeiten mit C-Semantik auf 64-Bit-Integern und auf nichts anderem. Sie dienen vor allem dazu, Flag-Konstanten zu kombinieren, Bits in Werten zu prüfen, die integrierte Funktionen zurückgeben, und Farben zu zerlegen.

AufgabeAusdruck
Flags kombinierenFileNotify.FileName | FileNotify.LastWrite
Flag prüfen(mask & FileNotify.Size) != 0
Flag setzenmask = mask | flag;
Flag löschenmask = mask & ~flag;
Flag umschaltenmask = mask ^ flag;
Bit n prüfen((value >> n) & 1) == 1 oder (value & (1 << n)) != 0
Gerade / ungerade(n & 1) == 0
0xRRGGBB zerlegenr = (c >> 16) & 0xFF; g = (c >> 8) & 0xFF; b = c & 0xFF;
Taste gedrückt gehalten (aus KeyboardGetKeyState)(state & 0x8000) != 0. Das oberste Bit des Win32-SHORT wird vorzeichenerweitert, daher funktioniert auch state < 0.
Taste umgeschaltet (Feststelltaste usw.)(state & 1) != 0

DisplayGetPixelColorFromPoint gibt 0xRRGGBB in einen Integer gepackt zurück oder -1, wenn der Punkt auf keinem Monitor liegt.