réorganiser les éléments d'un tableau
Bonjour tous :D
j'ai débuté en C y'a quelques jours, bref j'ai fais une fonction qui range 4 à 4 les élémnents d'un tableau à 16 octets de la façon suivante:
tab1[16]={0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff};
tab2[4]= {0x33221100, 0x77665544, 0xbbaa9988, 0xffeeddcc};
j'ai fais la fonction suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| void range(unsigned int *tab1, unsigned int *tab2)
{
int n;
int m=0;
for (n = 0; n < 16 ; n=n+4)
{
tab2[m]= tab1[n+3]*0x1000000+tab1[n+2]*0x10000+tab1[n+1]*0x100+tab1[n];
m++;
}
} |
maintenant je cherche a faire le travail inversement c'est à dire passer du tab2 vers le tab1, j'ai esayé ce morceau de code pour une seule valeur du tab2:
Code:
1 2 3 4
| unsigned int dr = tab2[0] / 0x1000000;
unsigned int ds = ((tab2[0] % 0x1000000) / 0x10000) ;
unsigned int dv = (((tab2[0] % 0x1000000) % 0x10000) / 0x100) ;
unsigned int dx = (((tab2[0] % 0x1000000) % 0x10000) % 0x100) ; |
ça marche mais c'est long et compliqué et puis j'arrive pas à l'intégrer dans une boucle, :calim2:
avez vous une idée de fonction pour reconstruire tab1 à partir de tab2 ?? :roll:
merci d'avance :D