Type DWORD en C/C++ c'est quoi??? [Résolu/Fermé]

Signaler
Messages postés
242
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
23 novembre 2009
-
 crazydieter -
Bonjour,

Je souhaiterai savoir à quoi correspond une variable de type DWORD en C/C++ ?ça sert à quoi?

Merci!

3 réponses

Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 288
DWORD, ça doit être double mot, ça correspond à une variable d'un certain nombre d'octet ou de bit.
Je crois que le mot et de 4 octet, le double mot doit être de 8.
ça sert à connaître la taille de la variable indépendamment de l'implémentation du C.
18
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
242
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
23 novembre 2009
3
Tiens re bonjour Char sniper! Comment va?;)

J'ai vu ke DWORD était similaire à longWord qui était un mot de 32 bits non signé. et je pense aussi que le D correspond à double comme tu dis. Apparemment ces types sont utilisés dans le cadre d'application pour windows. enfin d'après ce que j'ai cru comprendre.

Merci pour l'info!@ bientot!

Bonjour

Quand un mot comme DWORD n'est pas du C standard, c'est qu'il est défini dans un .h quelconque. Il suffit de faire un clic droit sur DWORD et de choisir "GOTO definition of DWORD".
VC++ t'envoie dans windef.h à la ligne :
typedef unsigned long DWORD;
Messages postés
242
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
23 novembre 2009
3
Oki merci ! je viens de regarder ce que tu m'as dis, effectivement on peut le voir comme ça!
Juste pour la forme... Octet : 1 octet. Ca va jusque là ?
Word : 2 octets.
DWord : 4 octets.
D : Double
Aucun rapport avec les applications Windows.
Et pour le reste, il y a google. Pas la peine de coder si vous êtes incapables de savoir ça, ni de réussir à le chercher dans le cas contraire.
@fiddy

Ah ouais ? c'est egal a quoi alors ?
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 766
Un byte regroupe plusieurs bits (souvent 8 aujourd'hui mais pas systématiquement).
En C, le byte représente au moins 8 bits. Un octet représente 8 bits systématiquement. Voilà la différence ;-).
L'octet (en anglais byte ou B avec une majuscule dans les notations) est une unité d'information composée de 8 bits.
Une unité d'information composée de 16 bits est généralement appelée mot (en anglais word).
Une unité d'information de 32 bits de longueur est appelée mot double (en anglais double word, d'où l'appellation dword).

word=16 bits=2 octets( ou 2 Byte en anglais)
dword=32 bits= 4 octets (ou 4 Byte en anglais)

Bit veux dire binary digit
Il y a 8 bits dans un octet ( français) ou byte ( anglais)
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 766
Non...
Byte devrait se traduire par multiplet. En informatique, pour être précis on devrait employer a "8-bit something" (par exemple 8-bit integer). Aujourd'hui, le regroupement le plus utilisé est le groupe de 8 bits. D'où le raccourci Byte = Octet. Sauf qu'en C, c'est faux. Pour t'en convaincre lis les spécs !
un "mot" (word en anglais) désigne l'unité de traitement de base sdu processeur, ou alors la taille nominale d'un de ces registres. Le système DOS date d'une époque ou les registres faisait 16 bits (intel 8086), et donc depus ce temps la un "mot" désigne une donnée sur 16bits, soit deux octets, mais c'est une désignation propre au mode microsoft mais qui est incorrecte.

La raison est que pour assurer la portabilité du vieux code en C écrit à l'époque, Microsoft a décidé de ne pas changer la definition de 'WORD', lors du passage de Windows à l'architecture 32 bits.

BYTE = octet
WORD = mot = deux octets (16 bits)
DWORD = double mot, soit deux octets (32 bits)
QWORD = quad word = quadruple mot (64 bits)

Sinon, concernant le sens de "byte", l'usage veut que l'on parle toujours d'une donnée sur 8 bits. C'est usuel. Je n'ai jamais vu dans la littérature utilisé le mot "byte" utilisé pour désigner autre chose. Ceci dit si on considère qu'un "byte" désigne la plus petite donnée adressable sur un processeur donné, il existe des plateformes pour lequelles le type "char" en langage C fait 16 bits (surtout les DSP genre Ti C55x par exemple) - il faut donc faire attention ...