El valor de 32 bits 10101111 10001000 11001100 00001111 en binario se puede representar como 0xAF88CC0F en hexadecimal. Esto se puede almacenar internamente en la memoria de una de dos maneras: little-endian o big-endian.
En big-endian, lo que significa que el byte más significativo se almacena en la dirección más baja, los bytes individuales (0xAF, 0x88, 0xCC y 0x0F) se almacenan en la memoria en el mismo orden en que se leen, p. Ej.
Dirección de byte 00 01 02 03 AF 88 CC 0F
(Estos ejemplos suponen bytes de 8 bits, que se usa casi universalmente en las computadoras en estos días, pero no siempre fue así).
- ¿Cómo podría utilizar efectivamente nitrógeno líquido para enfriar un sistema informático?
- ¿Cómo divide un concentrador USB la energía de manera adecuada y segura en tantos dispositivos?
- ¿Debo obtener un 1600X con RX 580 o un 1500X con GTX 1070?
- ¿Qué computadora portátil es mejor para juegos y uso normal por debajo de 35000?
- ¿Hay alguna manera de encender una computadora en un horario?
En little-endian, lo que significa que el byte menos significativo se almacena en la dirección más baja, por lo que los bytes individuales (0xAF, 0x88, 0xCC y 0x0F) se almacenan en la memoria en el orden opuesto al que se leen, p. Ej.
Dirección de byte 00 01 02 03 0F CC 88 AF
Los diseñadores de diferentes arquitecturas informáticas han elegido una u otra a lo largo de los años. Por ejemplo, Intel usa little-endian, mientras que Motorola (que se convirtió en Freescale, luego aún comprada por NXP) eligió usar big-endian en su microprocesador 68000.
Algunas arquitecturas, como ARM versión 3 y superior, pueden funcionar en cualquier modo, en función de una configuración de indicador.
Big-endian es el formato más común en redes de datos y se utiliza en protocolos como IPv4, IPv6, TCP y UDP.
Little-endian tiene la propiedad de que se puede leer el mismo valor de la memoria a diferentes longitudes sin usar diferentes direcciones. Por ejemplo, el valor de 32 bits 0x00000055, almacenado como
Dirección de byte 00 01 02 03 55 00 00 00
en little-endian, puede leerse como un byte (8 bits), corto (16 bits) o largo (32 bits), todos comenzando en la dirección 0 y dando como resultado el mismo valor. La representación little endian también simplifica el hardware en procesadores de 8 bits que agregan valores integrales de varios bytes, un byte a la vez.
Los nombres “endianos” fueron tomados de la sátira de 1726 de Jonathan Swift, Los viajes de Gulliver.