Stockage valeurs dans un WORD ?

Signaler
Messages postés
122
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2006
-
Messages postés
122
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2006
-
Bonjour,

J'aimerai savoir comment stocker 2 valeurs entières dans un WORD ou un DWORD et ensuite comment les récupérer.

Merci

Tintin 72

4 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
BYTE val1 = 123;
BYTE val2 = 89;

WORD w = (val1<<8) | val1;

BYTE val3 = (BYTE)(w&0xff);
BYTE val4 = (BYTE)((w>>8)&0xff);

manip similaire pour un DWORD
<< et >> réalise des décalmages à gauche et à droite des valeusr (équivaaut à faire des multiplications ou divisions par des puissances de 2)
| réalise un ou pour mettre ensemple les bits de 2 valeurs
& réalise un masque pour ne conserver que seule partie du nombre.
Messages postés
122
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2006

Merci, mais je ne comprend pas quand tu écris :

WORD w = (val1<<8) | val1;

où est val2 ?

Je pensais qu'il y avait des macros comme LOWORD et HIWORD pour
récupérer les valeurs.

Tintin 72
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Effectivement, faute de frappe
WORD w = (val2<<8) | val1;

HIWORD, LOWORD, MAKEWORD font exactement ce que je vient de dire mais c'est toujours bien de savoir ce que font des macros pour personnaliser ses besoins...
Messages postés
122
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2006

Merci pour ces renseignements. :-)

Tintin 72