为什么在检查大写锁定时需要&0xFFFF

时间:2019-03-07 17:15:37

标签: c# .net capslock

我正在尝试检查CAPS LOCK是否打开。 我已经看过以下几行,我想知道为什么需要使用0xFFFF的AND,因为使用0xFFFF的AND将返回完全相同的数字。我已经读过here,为了检查CAPS LOCK是否已切换,您需要检查低位,因此它应该与1相加。那么,为什么选择0xFFFF?

bool CapsLock = (((ushort)GetKeyState(0x14)) & 0xffff) != 0;

谢谢!

1 个答案:

答案 0 :(得分:1)

我同意GSerg不需要使用它。但是通常使用和按位运算符是获取值的一部分。

例如:

0x11ffff
0xffff 
--------- AND
0xffff

您可以使用this online bitwise calculator来了解其工作原理。