Endianness - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Logiciels et portabilité

On a bien compris que ces conventions posent des problèmes dans le portage des logiciels. Par exemple, en lisant des données binaires, selon l'architecture, on ne va pas obtenir la même donnée après lecture si on ne se soucie pas de la convention.

Bien sûr le choix de big-endian ou little-endian est toujours arbitraire, ce qui soulève des débats intensifs, car il y a nombre d'arguments en faveur de l'un et de l'autre. Les langues par exemple, selon le groupe linguistique germanique, anglais ou autre, n'ont pas la même perception.

Différences pratiques

Bien que la différence entre les deux modes big-endian et little-endian semble aujourd'hui minime et se limite à un problème de convention, on peut signaler des avantages liés à chacun :

Les nombres big-endian sont plus faciles à lire lorsqu'on débogue un programme car leur contenu est directement lisible sans avoir à changer l'ordre des octets constituant le nombre. Cela est dû au fait que l'ordre des chiffres est le même que celui de l'écriture normale.

Le mode little-endian présentait des avantages lorsque les processeurs utilisaient des tailles de registre variables, c’est-à-dire 8, 16 ou 32 bits. À partir d'une adresse mémoire donnée, on pouvait lire le même nombre en lisant 8, 16 ou 32 bits.

Par exemple, le nombre 33 (0x21 en hexadécimal) s'écrit 21 00 00 00 en little endian en 32 bits, ce qui se lit toujours 21 quel que soit le nombre d'octets lus. Ceci est faux en big-endian car la première adresse change suivant le nombre d'octets à lire.

Écriture des dates

Certains pays ont des standards concernant l'écriture des dates. La notion d'endianness y est présente comme le montrent les exemples suivants :

  • Europe : JJ/MM/AAAA (little endian)
  • Japon : AAAA/MM/JJ (big endian)
  • États-Unis : MM/JJ/AAAA (middle endian)

Écriture des nombres dans les langues humaines

Le problème du choix du sens d'écriture se pose aussi pour l'écriture des nombres en notation positionnelle dans les langues humaines.

Dans les langues utilisant l'alphabet latin, qui se lisent de gauche à droite, les nombres s'écrivent en commençant par les chiffres de poids le plus forts. C'est donc une convention big-endian. En arabe, c'est l'inverse : on écrit — cette fois de droite à gauche — d'abord les unités, puis les dizaines, etc. C'est une convention little-endian... relativement au sens d'écriture ordinaire de cette langue. Ces deux conventions opposées donnent le même résultat, du point de vue gauche-droite : les unités à droite.

Page générée en 0.083 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise