-
Bloc d'octet de type int
Bonjour,
si un bloc de 4 octets vaut:
0x00:0x00:0x08:0x4C
Je dois me retrouvais bien avec 2124 ? non ? que je sois unsigned int ou int ?
Car quand je lis ce bloc d'octet comme int je me retrouve un nombre un peu trop grand, donc pas le nombre que je voudrai retrouver.
Je dois m'y prendre mal, ou je pense qu'un entier est codé ainsi alors que ce n'est pas le cas.
Aidez-moi, merci d'avance.:ccool:
edit: simplement car ma machine gère des little-endian, et pas du big-endian, donc pour 2124, il faut que j'ai:
0x4C:0x08:0x00:0x00
Voilà, désolé pour toutes ces questions, mais ça devrait se calmer :D
-
Bonsoir,
Il s'agit probablement du type de représentation en mémoire de cet entier.
En effet il existe 2 standard : BigEndian , little Endian.
Suivant le standard, le MSB d'un entier (octet de poid ford) se trouve à l'adresse mémoire la plus élevée ou la plus faible.
Du coup si on parcours cet entier avec un pointeur d'octet, et bien on a pas toujours ce qu'on attend.
voir explication >>ici<<
-
J'ai édité au même moment que toi tu postais, merci ;')
-