Litle Endian vs. Big Endian
! Litle Endian vs. Big Endian
Almacena los bits al revés aunque los valores (leídos también al revés) los veas igual. Por eso los bytes los ves al reves, aunque a nivel de un solo byte los escribas igual (correctamente) en binario o en hexadecimal.
O sea, si quieres grabar un 0F (= 00001111) en un lado te grabara 00001111 y en otro 11110000.
Ahora, si quieres grabar 0FFF (= 00001111 11111111) te hará exactamente lo mismo: en el otro lado te pondrá 11111111 11110000, pero como también los bytes los _lee_ al revés, tendrás un FF 0F.
A la hora de la verdad lo único que ocurre es que el FF 0F ese está escrito "de derecha a izquierda" ;)
(; "adreiuqzi a ahcered ed" otircse átse ese 0F FF le euq se erruco euq onicú ol dadrev al ed aroh al A.
A lo que me refiero es a nivel "físico".
O sea, si coges 0F FF y lo escribes tal cual, te sale:
0F FF = 00001111 11111111
Ahora, si numeras las posiciones te sale:
pos0 = 00001111
pos1 = 11111111
O sea que es "big-endian".
Sin embargo, si eso mismo lo pones para que "las posiciones menores tienen valores menores" y puedas hacer cosas como:
total = pos0 * 8^0 + pos1 * 8^1
entonces te sale un "little-endian":
posicion 0 = 11111111
posicion 1 = 00001111
y a nivel de bits:
0....... ..1.....
01234567 89012345
11111111 11110000 = FF 0F
O sea como si "físicamente" estuviesen grabados al revés, aunque hay que recordar que esté como esté "físicamente" el valor sigue siendo el mismo. Digamos que en realidad el orden de los bits es "transparente", dado que se referencian por posiciones de valor ("el bit de 2^x"), no por posiciones "físicas".