Opérateurs bit à bit et indicateurs
&, |, ^, ~, << et >> opèrent sur des Integer 64 bits avec la sémantique du C, et sur
rien d'autre. Ils servent surtout à combiner des constantes d'indicateurs, à tester des bits dans
les valeurs que renvoient les fonctions intégrées et à décomposer des couleurs.
| Tâche | Expression |
|---|---|
| Combiner des indicateurs | FileNotify.FileName | FileNotify.LastWrite |
| Tester un indicateur | (mask & FileNotify.Size) != 0 |
| Activer un indicateur | mask = mask | flag; |
| Désactiver un indicateur | mask = mask & ~flag; |
| Inverser un indicateur | mask = mask ^ flag; |
| Tester le bit n | ((value >> n) & 1) == 1 ou (value & (1 << n)) != 0 |
| Pair / impair | (n & 1) == 0 |
Décomposer 0xRRGGBB | r = (c >> 16) & 0xFF; g = (c >> 8) & 0xFF; b = c & 0xFF; |
Touche maintenue (d'après KeyboardGetKeyState) | (state & 0x8000) != 0. Le bit de poids fort du SHORT Win32 est étendu par le signe, donc state < 0 fonctionne aussi. |
| Touche verrouillée (Verr. Maj, etc.) | (state & 1) != 0 |
DisplayGetPixelColorFromPoint renvoie 0xRRGGBB empaqueté dans un Integer, ou -1 lorsque le
point ne se trouve sur aucun écran.