& 0x8000

场景:#define KEY_DOWN(vk_code)((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)是什么

#define KEY_DOWN(vk_code)((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)是什么意思呀?
#define   KEY_DOWN(vk_code)((GetAsyncKeyState(vk_code)   &   0x8000)   ?   1   :   0)是什么意思呀?


(GetAsyncKeyState(vk_code)   &   0x8000)这里不懂!

------解决方案--------------------
就是调用GetAsyncKeyState函数得到某个键的状态,然后判断返回值的最高位是不是1,如果是表示这个处于按下状态
------解决方案--------------------
1、&与操作,&0x8000就是判断这个返回值的high-order bit(高位字节)
2、如果high-order bit是1,则是按下状态,否则UP状态

------解决方案--------------------
支持。
------解决方案--------------------
我知道 true & false = false
此处是做何用呢?
----------------
&位操作符,别和逻辑运算符&&弄混了


为什么要 &0x8000 它呢?
GetAsyncKeyState函数返回什么类型的数据?
-----------------
这要去查API手册