Pular para o conteúdo principal

Operadores bit a bit e sinalizadores

&, |, ^, ~, << e >> funcionam em Integers de 64 bits com a semântica de C, e em nada mais. Servem principalmente para combinar constantes de sinalizadores, testar bits em valores retornados por funções internas e desempacotar cores.

TarefaExpressão
Combinar sinalizadoresFileNotify.FileName | FileNotify.LastWrite
Testar um sinalizador(mask & FileNotify.Size) != 0
Ativar um sinalizadormask = mask | flag;
Desativar um sinalizadormask = mask & ~flag;
Inverter um sinalizadormask = mask ^ flag;
Testar o bit n((value >> n) & 1) == 1 ou (value & (1 << n)) != 0
Par / ímpar(n & 1) == 0
Desempacotar 0xRRGGBBr = (c >> 16) & 0xFF; g = (c >> 8) & 0xFF; b = c & 0xFF;
Tecla pressionada (de KeyboardGetKeyState)(state & 0x8000) != 0. O bit alto do SHORT do Win32 é estendido com sinal, então state < 0 também funciona.
Tecla alternada (Caps Lock e similares)(state & 1) != 0

DisplayGetPixelColorFromPoint retorna 0xRRGGBB empacotado em um Integer, ou -1 quando o ponto não está em nenhum monitor.