WORD et DWORD

WORD et DWORD - Programmation

Marsh Posté le 21-03-2001 à 18:05:44    

C'est quoi ces WORD et DWORD? C'est pour déclarer des constantes? Des variables? A quoi ça sert? Quelles sont leurs tailles et qu'est-ce qu'on peut y mettre?

Reply

Marsh Posté le 21-03-2001 à 18:05:44   

Reply

Marsh Posté le 21-03-2001 à 18:13:00    

WORD : entier 16bits (int)
DWORD = Double WORD : entier 32bits (long)
 
attention la difference entre int et long n'est pas toujors vrai.
Tout depends aussi du compilateur. Mais en gros WORD et DWORD sont des types de variables entieres.

Reply

Marsh Posté le 21-03-2001 à 18:18:41    

Donc mettre WORD ou int par exemple revient au même?

Reply

Marsh Posté le 21-03-2001 à 19:04:39    

>Donc mettre WORD ou int par exemple revient au même?
 
ben non. sous win32, par ex, un int est codé sur 32 bits. Un WORD correspond alors à un short int.
 
Dans la plupart des cas, tu ne seras pas gêné parce qu'il y aurra des castings implicites. Mais jouer à ce jeu est dangereux... Il vaut mieux savoir quel type de variable on manipule.

Reply

Marsh Posté le 22-03-2001 à 11:32:44    

Différence entre WORD et entier :
WORD va de 0 à 255
Entier court va de -127 à 128 (si le bit 7 est à 1, le nombre est négatif il me semble)
 
Idem pour DWORD
Selon l'utilisation qu'on en fait, on n'aura pas le même résultat...

Reply

Marsh Posté le 22-03-2001 à 12:15:59    

dans VC++, ce sont de simples typedef.
Tu peux les trouver dans le fichier windef.h
 
typedef unsigned long       DWORD;
typedef int                 BOOL;
typedef unsigned char       BYTE;
typedef unsigned short      WORD;
typedef unsigned int        UINT;
 
Je t'en ai donne quelques uns, mais yen a bien d'autres...

Reply

Marsh Posté le 22-03-2001 à 13:02:01    

Faut bien faire attention, le DWORD est non signé il va de 0 à 2^32 c'est a dire que si tu fait DWORD i = -1 , alors le test (i < 0) renverra faux.

Reply

Marsh Posté le 22-03-2001 à 16:48:37    

NON! entier court ou word c'est sur 16 bits donc de 0 à 65535 ou de -32768 à 32767.
 
JPA tes valeurs sont pour des BYTE, char ou unsigned char (8 bits)

Reply

Marsh Posté le 22-03-2001 à 16:59:28    

Exact wawe, exact
J'ai répondu trop vite...
Je voulais uniquement montrer que WORD était toujours positif...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed