비트 연산자와 플래그
&, |, ^, ~, <<, >>는 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을 반환합니다.