if(GetKeyState(VK_SHIFT) & 0x8000)???
Buenas, tengo una duda, aunque pueda ser una chorrada. Estoy viendo unos ejemplos, y hay uno en el que comprueba la tecla pulsada. Mi pregunta es, por que se incluye en la condicion del if un numero hexadecimal?? Y de donde sale ese número?
Muchas gracias por la ayuda.
Muchas gracias por la ayuda.
Habría que ver exactamente qué devuelve GetKeyState().
Asi, a ojo, el 0x8000 es un 1 en el bit más significativo de un entero. Este bit suele ser el bit de signo, de forma que si es cero, el entero es positivo y si es 1, el entero es negativo.
El resultado de GetKeyState() & 0x8000 te dará true si el bit más significativo devuelto por GetKeyState() es 1, lo que viene a ser que GetKeyState() sea negativo.
Una forma mas intuitiva de poner ese if quizas sea
if (GetKeyState() < 0)
No conozco la función GetKeyState() ni lo que devuelve, pero viendo la línea que has puesto, es más o menos lo que deduzco. Puedo estar equivocado ...
Se bueno.
Asi, a ojo, el 0x8000 es un 1 en el bit más significativo de un entero. Este bit suele ser el bit de signo, de forma que si es cero, el entero es positivo y si es 1, el entero es negativo.
El resultado de GetKeyState() & 0x8000 te dará true si el bit más significativo devuelto por GetKeyState() es 1, lo que viene a ser que GetKeyState() sea negativo.
Una forma mas intuitiva de poner ese if quizas sea
if (GetKeyState() < 0)
No conozco la función GetKeyState() ni lo que devuelve, pero viendo la línea que has puesto, es más o menos lo que deduzco. Puedo estar equivocado ...
Se bueno.
