Stockage valeurs dans un WORD ?

cs_tintin72 Messages postés 122 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 22 juillet 2006 - 28 avril 2005 à 15:42
cs_tintin72 Messages postés 122 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 22 juillet 2006 - 28 avril 2005 à 17:52
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

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
28 avril 2005 à 16:55
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.
0
cs_tintin72 Messages postés 122 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 22 juillet 2006
28 avril 2005 à 17:25
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
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
28 avril 2005 à 17:28
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...
0
cs_tintin72 Messages postés 122 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 22 juillet 2006
28 avril 2005 à 17:52
Merci pour ces renseignements. :-)

Tintin 72
0
Rejoignez-nous