Si mon code c est:Conversion explicite de type en C sur un niveau peu
unsigned char Buffer[4] = { 0, 0, 0, 0};
unsigned long Odometer = 0xff00ff00;
Buffer[3] = Odometer & 0xff;
Odometer = Odometer >> 8;
Buffer[2] = (unsigned char)(Odometer & 0xff);
Odometer = Odometer >> 8;
Buffer[1] = (unsigned char)(Odometer & 0xff);
Odometer = Odometer >> 8;
Buffer[0] = (unsigned char)(Odometer & 0xff);
Ce qui se trouve dans chaque indice de tampon? Je ne suis pas sûr de savoir comment le casting de type fonctionnerait au niveau des bits. Transfère-t-il l'octet le plus significatif ou l'octet le moins significatif de Odometer
dans chaque index Buffer
?
'Buffer [3]' contient l'octet le moins significatif de '' Odometer' et tampon [0] 'le plus significatif. –
@ 眠 り ネ ク ク en fonction de endianes mon ami :) –
Ce code est endianess-indépendant donc Buffer contiendra [0] = octet MS, ... [3] = LS octet, simple comme ça. – Lundin