Diferencia entre revisiones de «Little Endian y Big Endian»

De Wikitronica
Saltar a: navegación, buscar
 
(No se muestran 2 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 que 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 ¿Como 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.
+
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===
+
==Little Endian==
    En este formato, los bits mas significativos se almacenan en la posicion mas baja de memoria, mientras que los menos significativos
+
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
+
se guardan en las posiciones altas consecutivas
  
===Big Endian===
+
==Big Endian==
    En este formato, los bits menos significativos se almacenan en la posicion mas baja de memoria, mientras que los mas significativos se
+
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 mas altas consecutivas.
+
guardan en las más altas consecutivas.
  
 
==Ejemplo==
 
==Ejemplo==
  
Si se tiene el numero hexadecimal 759A6FD10E (5 bytes) y se desea guardar en la posicion de memoria 100, se hara de la siguiente manera:
+
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
! Posicion de memoria !! Dato al macenado
+
! 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
! Posicion de memoria !! Dato al macenado
+
! Posición de memoria !! Dato almacenado
 
|-
 
|-
 
| 100 || 0E
 
| 100 || 0E
Línea 51: Línea 51:
  
 
==Otros Formatos==
 
==Otros Formatos==
  Existen ciertas arquitecturas que permitentrabajar con ambos formatos, de manera que pueda escogerse con cual de ellos trabajar. Estos
+
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".
tipos de arquitecturas, 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:

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:

Big Endian
Posición de memoria Dato almacenado
100 75
101 9A
102 6F
103 D1
104 0E
Little Endian
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".

Contributors

Aromero, JCaceres