Conceptos de informática: Endian
Hoy comenzamos una serie de nuevos post temáticos llamados “Conceptos de informática” y en los que trataremos brevemente ciertos conceptos que consideramos interesantes para todos los que usamos tantas horas al día este tipo de máquinas.
No me atrevo a llamarlo sección porque ni va a tener una periodicidad constante como la Tira o el podcast. Por cierto, aprovecho para comentaros que la dormida sección de juegos volverá a tener actividad en breve, aunque esta vez sin una periodicidad constante.
Comenzaremos esta semana explicando qué es el endian o endiannes.
Significado
El endian designa el formato en que se almacenan los datos en una máquina en función de la posición que ocupan los bits más y menos significativos (MSB y LSB respectivamente). La analogía más cercana en el día a día es la de la dirección de escritura de los lenguajes:
- De izquierda a derecha: Lenguajes de orígen europeo
- De derecha a izquierda: Árabe o hebreo
En nuestro caso tendríamos:
- Big endian: Escrito al igual que escribimos las personas los números, el dígito más significativo es el primero que se escribe.
- Little endian: Al contrario, se escribe primero el dígito menos significativo y posteriormente los demás hasta el más significativo.
¿Qué importancia tiene esto?
Como todas las formalizaciones alrededor de la codificación de datos, tanto la parte escritora como la lectora del dato deben saber cómo se ha escrito. Esto es trasladable a ámbitos de comunicaciones digitales además de donde nos centramos, en el procesamiento.
¿Qué empresas utilizan unos u otros?
Tradicionalmente se ha asociado a Intel y a la plataforma más utilizada por casi todos, las derivadas de la arquitectura x86 el uso de little endian y a Motorola y Sun (por ejemplo la plataforma SPARC) el big endian. Otras arquitecturas son capaces de trabajar con ambos formatos, las llamadas middle endian entre las que se encuentran arquitecturas como: ARM, PowerPC, DEC Alpha, PA-RISC o Arquitectura MIPS.
Ventajas/desventajas
A priori la ventaja más relevante del formato little endian respecto big endian (aunque es una ventaja relativa porque depende de cómo se implemente la lectura y la escritura) es que se hace más inmediato el acceso a datos, ya que efectúa de manera incremental de menos a más significante (suponemos, como digo, que siempre se opera con incrementos de contador en la memoria).
Espero vuestros comentarios y correcciones.
Fuente de las imágenes blog tecnológico de Junxian.