Macros

Alvin
28 de Mayo del 2004

Por lo que he leido la macro LOWORD extrae la palabra de menor peso de un valor de 32bits, ahora
alguien me puede decir que significa esto y ademas para que se utiliza esta macro
Gracias

Alejandro_
28 de Mayo del 2004
devuelve los 16 bits de orden más bajo de un valor de 32.

WORD LOWORD(
DWORD dwValue /* valor de donde se van a extraer los 16 bits de orden más bajo. */
);


Se define así:
#define LOWORD(l) ((WORD)(l))


Su contraparte es la macro para extraer los otros 16 bits, los de orden más alto:

HIWORD: extrae los 16 bits más altos de un valor de 32.

WORD HIWORD(
DWORD dwValue // valor de donde se extraerán los 16 bits más altos.
);

Se define así:
#define HIWORD(l) ((WORD) (((DWORD) (l) >> 16) & 0xFFFF))


Ahora, suponte que tienes una función que devuelve un valor de 32 bites (un DWORD, que en mi máquina podría ser un int, por ejemplo). Bien, estas macros te permiten referirte a cada uno de los 16 bits que lo forman. Y eso era todo.

Alejandro