Diferencia entre revisiones de «Little Endian y Big Endian»
('''Texto en negrita''') |
|||
(No se muestran 3 ediciones intermedias de otro usuario) | |||
Línea 1: | Línea 1: | ||
− | Al momento de guardar un dato de un byte en la memoria no hay mucho de | + | 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: | Existen dos formatos de ordenamiento: | ||
− | + | ==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== | ==Ejemplo== | ||
− | Si se tiene el numero hexadecimal 759A6FD10E (5 bytes) y se desea guardar en la | + | 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: |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|+ Big Endian | |+ Big Endian | ||
− | ! | + | ! Posición de memoria !! Dato almacenado |
|- | |- | ||
| 100 || 75 | | 100 || 75 | ||
Línea 34: | Línea 34: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|+ Little Endian | |+ Little Endian | ||
− | ! | + | ! Posición de memoria !! Dato almacenado |
|- | |- | ||
| 100 || 0E | | 100 || 0E | ||
Línea 49: | Línea 49: | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | ==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". |
Revisión actual del 21:59 2 abr 2013
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".