Hola a todos, estoy haciendo mis primeras pruebecillas con los operadores bit a bit tales como |, & y en el ejemplo de abajo c devuelve 896, per creo que debería ser 0, alguien me puede decir que estoy haciendo mal?, por que creo que no estoy entendiendo bien el uso de estos operadores.
#define KEY_ADD (1 << 7)
#define KEY_SUB (1 << 8)
#define KEY_REPORT (1 << 9)
#define REPORT (KEY_ADD | KEY_SUB | KEY_REPORT)
int main(void)
{
int c = (REPORT | 896);
printf("REPORT: %i " ,REPORT
); }
Muchas gracias.