Allocation memoire

chahbane -  
 chahbane -
Bonjour,

voici une fonction C :

int pair (int n)
{
int i;
if (n%2==0)
i=1;
else
i=0;
return i;
}

on sait que un int occupe 16 bits en memoire alors que cette fonction a besoin seulement d'un seul bit pour l'entier i.
SVP si quelqu'un pouvait m'aider a allouer just un seul bit!! pourquoi gaspiller de la memoire??
mer6666666 d'avance

1 réponse

p3t3r42 Messages postés 89 Statut Membre 28
 
Regarde, avec ce morceau de programme, la taille des variable:
Code C:
printf ("taille d'un int : %d octet(s)\n", sizeof (int));
printf ("taille d'un char : %d octet(s)\n", sizeof (char));
printf ("taille d'un double : %d octet(s)\n", sizeof (double));
// ... tu peux le faire avec tout les types de variables ; )
Console:
taille d'un int : 4 octet(s)
taille d'un char : 1 octet(s)
taille d'un double : 8 octet(s)
Ces valeurs peuvent changer en fonction des ordis mais sont souvent indentiques.

Tu économise 3 octets en utilisant des variable de type char... c'est toujours ça =)
0
chahbane
 
mer6 mais j c tout ca! meme avec un char je gaspille 7bit!!
je veux optimiser le maximum possible et n'allouer qu'un seul bit!
j ai contacte mon professeur et il m a dit qu'il ya une methode mais c'est tres complique.
vous pouvez m'aider??
0