GetAsyncKeyState 中的符号"&"

The Symbol "&" in GetAsyncKeyState

本文关键字:符号 GetAsyncKeyState      更新时间:2023-10-16
if (GetAsyncKeyState(key) & 0x8000)

"&"的含义是什么在上面的if语句中?为什么我们需要使用它?

GetAsyncKeyState(key)

将返回您的16位值。

这样的1010010101110110

最高级位包含关键状态。

1 0100101010110110大胆的最高订单位。

由于我们仅对最高级值感兴趣,然后掩盖其余的,因此我们执行以下操作& bitwise和操作

0x8000是 1 000000000000000的十六进制代表。

键&0x8000

==>

1 0100101010110110 getAsynckeystate(key)

&

1 00000000000000000 0x8000

结果:

1 000000000000000 一个值为true

的值

作为示例表明,我们掩盖了除了按键按零按零按下的最高顺序位以外的位。如果按键按键执行块。

检查alt键是否下降。

bitwise and操作员。