跳到主要内容

按位运算符和标志

&、|、^、~、<< 和 >> 仅作用于 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
拆解 0xRRGGBBr = (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。