Little Endian y Big Endian
Al momento de guardar un dato de un byte en la memoria no hay mucho de qué preocuparse, pero cuando se desean almacenar datos de 2 o mas bytes surge un problema, debido a que cada posición de memoria es capaz de guardar un solo byte. Entonces ¿Cómo es ordenado un dato de 16 bits en memoria? Pues bien, es de suma importancia tener en cuenta el formato de almacenamiento que posea la arquitectura a utilizar.
Existen dos formatos de ordenamiento:
Contenido
Little Endian
En este formato, los bits menos significativos se almacenan en la posición más baja de memoria, mientras que los más significativos se guardan en las posiciones altas consecutivas
Big Endian
En este formato, los bits más significativos se almacenan en la posición más baja de memoria, mientras que los menos significativos se guardan en las más altas consecutivas.
Ejemplo
Si se tiene el numero hexadecimal 759A6FD10E (5 bytes) y se desea guardar en la posición de memoria 100, se hará de la siguiente manera:
Posición de memoria | Dato almacenado |
---|---|
100 | 75 |
101 | 9A |
102 | 6F |
103 | D1 |
104 | 0E |
Posición de memoria | Dato almacenado |
---|---|
100 | 0E |
101 | D1 |
102 | 6F |
103 | 9A |
104 | 75 |
Otros Formatos
Existen ciertas arquitecturas que permiten trabajar con ambos formatos, de manera que pueda escogerse con cuál de ellos trabajar. Éstas son referidos como sistemas que utilizan un formato "Middle Endian".