Operadores bit a bit y marcas
&, |, ^, ~, << y >> funcionan con valores Integer de 64 bits con la semántica de C, y con
nada más. Sirven sobre todo para combinar constantes de marca, comprobar bits en los valores que
devuelven las funciones integradas y desempaquetar colores.
| Tarea | Expresión |
|---|---|
| Combinar marcas | FileNotify.FileName | FileNotify.LastWrite |
| Comprobar una marca | (mask & FileNotify.Size) != 0 |
| Activar una marca | mask = mask | flag; |
| Borrar una marca | mask = mask & ~flag; |
| Alternar una marca | mask = mask ^ flag; |
| Comprobar el bit n | ((value >> n) & 1) == 1 o (value & (1 << n)) != 0 |
| Par / impar | (n & 1) == 0 |
Desempaquetar 0xRRGGBB | r = (c >> 16) & 0xFF; g = (c >> 8) & 0xFF; b = c & 0xFF; |
Tecla presionada (de KeyboardGetKeyState) | (state & 0x8000) != 0. El bit alto del SHORT de Win32 se extiende con signo, así que state < 0 también funciona. |
| Tecla alternada (Caps Lock, etc.) | (state & 1) != 0 |
DisplayGetPixelColorFromPoint devuelve 0xRRGGBB empaquetado en un Integer, o -1 cuando el punto
no está en ningún monitor.