Ángel, miembro de nuestro equipo de trabajo, nos ha hecho el favor de escribir este enunciado ya que controla muy bien este tema.
Solución:
Endianness se trata de orden de dirección de bytes. Little endian significa que los bytes significativos más bajos obtienen las direcciones más bajas. Big endian significa al revés. Así que se trata de bytes (fragmentos de 8 bits), no de nibbles (fragmentos de 4 bits). La mayoría de las computadoras que usamos (hay algunas excepciones) direccionan bytes a nivel de dirección individual.
Tomando el -12
ejemplo:
Little endian, en la memoria, sería:
000000: F4
000001: FF
Big endian, en la memoria, sería:
000000: FF
000001: F4
Little endian básicamente está invirtiendo el orden de bytes para un valor de varios bytes
1111 1111 1111 0100
es 2 bytes donde 1111 1111
es el primer byte y 1111 0100
es el segundo byte. En little endian, el segundo byte (o byte menos significativo) se lee en primer lugar, por lo que la representación final es 1111 0100 1111 1111
El propósito de big-endian es imprimir hexadecimal en las pantallas de las computadoras de izquierda a derecha para que sean más fáciles de leer para los programadores principiantes o de bajo nivel; en otras palabras, debido a que el hexadecimal se imprime de las direcciones de memoria baja a la alta, el hexadecimal se invierte a menos que lo cambie en el software. El propósito de Little-endian es no ser un loco y dejar los bytes en orden secuencial para que no haga un trabajo adicional para los desarrolladores y en su lugar haga el MUYlimitado ¡número de personas a las que les importa invertir los bytes en el software!
Está MUY ACONSEJADO nunca usar big-endian. Las CPU de hoy son de doble endian y pueden manejar tanto el endian grande como el pequeño, por lo que, a menos que esté interactuando con hardware heredado, casi toda la industria usa little-endian y los desarrolladores han programado que el big-endian sea descontinuado por completo.
Little-Endian sin formato de software
In RAM Printed
+----+ 0x01000000
0x4 | 00 |
| 00 |
| 00 |
0x0 | 01 |
+----+
Big-Endian sin formato de software
In RAM Printed
+----+ 0x00000010
0x4 | 01 |
| 00 |
| 00 |
0x0 | 00 |
+----+
Little-Endian con formato de software
In RAM Printed
+----+ 0x00000010
0x4 | 00 |
| 00 |
| 00 |
0x0 | 01 |
+----+
Orígenes de Endian
La palabra Endian es en realidad una antigua tribu nativa de América del Norte. No puedo recordar exactamente cómo fue la historia, así que publique comentarios llenando los huecos, pero la historia es que había dos tribus de endianos involucrados en una disputa familiar por algo tonto y, finalmente, la razón por la que la disputa se había ido hace mucho tiempo, pero ellos seguían peleando solo porque todavía estaban enojados.
¡Esto es Bananas!
El término plátanos se refiere a un famoso estudio no científico que supuestamente se realizó con monos. Los “científicos” pusieron una escalera en una habitación con un grupo de monos y colocaron plátanos en la parte superior de la escalera. Si alguno de los monos intentaba subir por la escalera, los científicos malvados rociaban a todos los monos con agua. Los monos aprendieron a golpear a cualquiera de los monos que intentaron subir por la escalera para evitar ser rociados. Finalmente, los científicos dejaron de rociar a los monos, pero los monos continuaron golpeando a cualquiera que intentara subir por la escalera. Lo curioso de esta historia es que alguien se la inventó. Esto es lo que significa cuando algo es completamente banano, como la guerra contra las drogas.
Es cierto que si rociaras a los monos con una manguera contra incendios, es muy probable que la historia sea true porque la historia original no infligió suficiente dolor para superar el amor de los monos por los plátanos, pero parece que los verdaderos científicos no son tan malos.
Para ver exactamente cómo es el banans Big-endian, veamos los orígenes del big-endian. En los albores de los microprocesadores, cuando todavía fabricaban las máscaras y las máquinas a mano, la empresa Motorola descubrió brevemente que era más rápido en ese momento utilizar big endian. En ese momento, las CPU de Motorola eran las más rápidas y desarrollaron un campo firmemente arraigado de Big Endianers. No mucho después, cuando redujeron el tamaño de los circuitos integrados, este aumento de rendimiento se volvió irrelevante y las CPU modernas ahora son de doble endian y pueden cambiar de endian al arrancar. Esto reflejaría de manera idéntica la historia de Bananas. Alguien malinterpretó algo, se hizo popular entre las personas que no saben lo que están haciendo, y ahora la lógica es COMPLETAMENTE PLÁTANAS !!!#DeleteBigEndian
Al final de todo puedes encontrar las explicaciones de otros programadores, tú asimismo puedes insertar el tuyo si lo deseas.