[vc++]réduction de la taille

imanedaoudi Messages postés 82 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 24 octobre 2005 - 3 sept. 2005 à 14:53
imanedaoudi Messages postés 82 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 24 octobre 2005 - 3 sept. 2005 à 18:56
Bonjour,
j'ai un tableau de 6000 entier, je cherche à réduire la taille de ce tableau en préservant le nombre d'entier (je dois agir peut etre au niveau du type), quelqu'un a une proposition???
Merci d'avance

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 sept. 2005 à 15:10
dépend si les valeurs du tableau peuvent tenir sur moins de 4 octets, n'y a que toi qui peux le savoir.

ciao...
BruNews, MVP VC++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
3 sept. 2005 à 15:11
"préservant le nombre d'entier"
J'ai pas trop compris ce que tu veux dire. Si tes entiers n'utilisent par exemple que 16 bits sur 32 tu pourra t'en sortir en changeant de type, mais si ce n'est pas le cas tu ne pourras pas.
int t[6000]; // tous les entiers tiennent dans un short

tu peux faire:
short u[6000];
for(int i 0; i < 6000; i++) u[i] (short)t[i];

Tu gagnes la moitié de la place.
En termes de performances ce sera moins bon pour des raison d'alignement
0
imanedaoudi Messages postés 82 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 24 octobre 2005
3 sept. 2005 à 18:01
je crois je dois éclaircir un peu plus le probléme:
je dois codé en bit des valeurs, le codage de ses valeurs est sous forme 010001001.....,cette chaine de bits que j ai declaré entier dois etre stocké dans un tableau, je cherche à reduire la taille de ce tableau pour pouvoir le stocker en mémoire, or l'utilisation du type entier pour les éléments du tableau (010001...) ne resoud pas le probléme.
la conversion en short peut etre une bonne solution, par contre ta remarque BruNews jai pas bien compris.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 sept. 2005 à 18:15
la même que vecchio, si ta plage de valeurs tient sur 2 octets alors tu peux mettre en 'short'.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
imanedaoudi Messages postés 82 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 24 octobre 2005
3 sept. 2005 à 18:37
les valeurs 010001.... sont des entiers, chaque entier est codé sur 2 octets c'est bien ca!! donc la seul solution est
0
imanedaoudi Messages postés 82 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 24 octobre 2005
3 sept. 2005 à 18:56
de convertir les entiers 000111...... en short pour réduire le taille en moitié si j'ai bien compris.
merci pour la proposition
0
Rejoignez-nous