본문으로 건너뛰기

비트 연산자와 플래그

&, |, ^, ~, <<, >>는 64비트 Integer에서만 C 의미 체계로 동작하며, 다른 형식에는 적용되지 않습니다. 주로 플래그 상수를 결합하고, 기본 제공 함수가 반환한 값의 비트를 검사하고, 색을 분해하는 데 사용합니다.

작업식
플래그 결합FileNotify.FileName | FileNotify.LastWrite
플래그 검사(mask & FileNotify.Size) != 0
플래그 설정mask = mask | flag;
플래그 해제mask = mask & ~flag;
플래그 전환mask = mask ^ flag;
n번 비트 검사((value >> n) & 1) == 1 또는 (value & (1 << n)) != 0
짝수/홀수(n & 1) == 0
0xRRGGBB 분해r = (c >> 16) & 0xFF; g = (c >> 8) & 0xFF; b = c & 0xFF;
키가 눌려 있음(KeyboardGetKeyState의 결과)(state & 0x8000) != 0. Win32 SHORT의 최상위 비트가 부호 확장되므로 state < 0도 동작합니다.
키가 켜져 있음(Caps Lock 등)(state & 1) != 0

DisplayGetPixelColorFromPoint는 Integer에 압축된 0xRRGGBB를 반환하며, 점이 어느 모니터에도 있지 않으면 -1을 반환합니다.