Endianité
Endianness est un Informatique terme qui décrit comment date est stocké. Plus précisément, il définit quelle extrémité d'un multi-octet Type de données contient les valeurs les plus significatives. Les deux types d’endianité sont le big-endian et le petit-endian.
Big-Endian
Big-endian est le moyen le plus courant de stocker binaire Les données. Il place la valeur la plus significative (ou la plus grande) en premier, suivie des valeurs moins significatives. Par exemple, la représentation big-endian du entier 123 place la valeur des centaines (1) en premier, suivie de la valeur des dizaines (2), puis de la valeur de unités (3) ou de [123].
Little Endian
Little-endian stocke d'abord la valeur la moins significative, suivie de valeurs de plus en plus significatives. Par exemple, le nombre 123 en notation little-endian est [321]. Le texte un magnifique "ABC" est représenté par [CBA].
Conversion Endian
Dans la plupart des cas, mobiles ne devez pas spécifier endianness puisque le compilateur génère le type de données correct pour un plate-forme. Cependant, un programme peut avoir besoin de traiter des données externes. contribution, tel qu'un format de fichier qui stocke des données avec une endianité différente. Dans ce cas, les données doivent être converties de little-endian en big-endian ou inversement.
La conversion de l’endianisme n’est pas aussi simple que d’inverser les données. le octets, plûtot que le les bits, doit être inversé. En d'autres termes, chaque octet (ou bloc de huit bits) doit rester le même, mais l'ordre des octets est modifié. Ceci peut être expliqué en utilisant le hexadécimal ou représentation binaire des données.
Par exemple, l'entier 41,394 est représenté en notation big-endian par:
hexadécimal: A1B2
binaire: 1010000110110010
La conversion de ces données en little-endian n'inverse pas les données, mais les octets individuels contenus dans les données. Hexadécimal utilise deux chiffres pour représenter chaque octet - [A1] [B2], alors que binaire utilise huit chiffres - [10100001] [10110010].
Par conséquent, la représentation little-endian de 41,394 est la suivante:
hexadécimal: B2A1
binaire: 1011001010100001
REMARQUE: Pourquoi processeurs peut récupérer des données en tant que big-endian ou little-endian sans conversion nécessaire. C'est ce qu'on appelle l'accès aux données bi-endian.