Problème Mémoire C++

Résolu/Fermé
Bebert450 Messages postés 17 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 15 septembre 2008 - 23 févr. 2008 à 19:26
Bebert450 Messages postés 17 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 15 septembre 2008 - 23 févr. 2008 à 22:59
Bonjour,
je révise actuellement pour un ds en programmation et j'aurais besoin de votre aide!!
Quelle est la différence entre l'emplacement mémoire et la taille d'un "type"?

En effet, j'ai vu que:
l'emplacement mémoire d'un char était de 8 bits et la taille d'un char (lorsque je fait : sizeof(char)) j'obtient 1 octet donc 8 bits: Tout a fait normal ==> Je réserve un emplacement dans la mémoire de la taille d'un char donc 8 bits.
Mais! et c'est maintenant que vient mon souci:
l'emplacement mémoire d'un int est de 4 bits mais la taille d'un int (lorsque je fait : sizeof(int)) j'obtient 4 octets!!
Alors que, logiquement, j'aurais dut obtenir 0,5 (4 bits /8 =0,5)

Merci d'avance de m'aider dans ce problème! J'ai peur de tout confondre!!

2 réponses

bonjour

l'emplacement mémoire d'un int est de 4 bits
Où es-tu allé chercher ça ? Un int n'a jamais fait 4 bits. En fait, le C définit la taille de l'int comme la taille 'naturelle' du mot d'un processeur, et dépend donc de la machine. Je n'ai jamais vu d'int de moins d'un octet.
L'opérateur sizeof du C ou C++ donne bien la taille du type ou de la variable en octets. Dans les versions de C et C++ qu'on trouve de nos jours sur la plupart des PC, un int fait 4 octets comme le dit le sizeof(), pas 4 bits
0
Bebert450 Messages postés 17 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 15 septembre 2008
23 févr. 2008 à 22:59
Ah d'accord!!
Merci beaucoup!!!
Je me suis trompé en lisant cette information quelque part, je croyais que l'auteur de cette information exprimait la taille de ses entiers en bits et non en octets!
Encore merci de m'avoir fait prendre conscience de cette erreur!!!
0