[C] Copie d'un tableau dans un unique integer
Fermé
NitriK
-
17 avril 2008 à 00:12
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 avril 2008 à 09:50
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 avril 2008 à 09:50
A voir également:
- [C] Copie d'un tableau dans un unique integer
- Tableau croisé dynamique - Guide
- Comment faire un tableau - Guide
- Tableau ascii - Guide
- Copie cachée - Guide
- Trier un tableau excel - Guide
2 réponses
damlegone32
Messages postés
74
Date d'inscription
lundi 11 septembre 2006
Statut
Membre
Dernière intervention
31 mai 2011
29
17 avril 2008 à 00:57
17 avril 2008 à 00:57
Salut,
Le poids fort est le premier élément du tableau donc :
tableau_copie = tableau_copie + ((tab[i])<<(9-i));
A+
Le poids fort est le premier élément du tableau donc :
tableau_copie = tableau_copie + ((tab[i])<<(9-i));
A+
d'abord, ta condition de boucle est <10, donc ta boucle n'arrive jamais a la fin de tableau
et puis pourquoi tu ajoutes i a tab[i] ?
i c'est juste ton compteur non? tu as toute une serie de chiffres qui proviennent du compteur qui sont additionnes avec ton tableau
je suis pas tres sur, mais je pense que c'est ca
essaie avec une autre valeur
et puis pourquoi tu ajoutes i a tab[i] ?
i c'est juste ton compteur non? tu as toute une serie de chiffres qui proviennent du compteur qui sont additionnes avec ton tableau
je suis pas tres sur, mais je pense que c'est ca
essaie avec une autre valeur
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
17 avril 2008 à 09:50
17 avril 2008 à 09:50
ta remarque est fausse. i allant de 0 à 9, ça fait bien 10 terme, de plus, << signifie décalage en bit et pas un ajout.
un truc un peu plus tordu aurai été de faire (juste pour le fun) :
Mais c'est moins élégant car les types utilisé dépendent de l'implémentation.
un truc un peu plus tordu aurai été de faire (juste pour le fun) :
struct champ{ unsigned flood : 6; //pour compléter la structure afin qu'elle est la bonne taille de 16 bits (ou 2 octets), soit un short unsigned bin0 : 1; unsigned bin1 : 1; unsigned bin2 : 1; unsigned bin3 : 1; unsigned bin4 : 1; unsigned bin5 : 1; unsigned bin6 : 1; unsigned bin7 : 1; unsigned bin8 : 1; unsigned bin9 : 1; } champ.flood=0; champ.bin0=tab[0]; champ.bin1=tab[1]; ... long entier_tot=*( (short*)&champ);
Mais c'est moins élégant car les types utilisé dépendent de l'implémentation.
17 avril 2008 à 09:10
Merci Damlegone32 :)