Professional Documents
Culture Documents
TEMA: MANEJO DE MEMORIA: REPRESENTACIN DE FLOTANTES, BIG ENDIAN, LITTLE ENDIAN Y CONVERSIONES NUMRICAS
Donde, sign = signo exponent = exponente fraction = parte decimal El signo del nmero lo determina un bit a travs de sus dos posibles valores: 0 para los nmeros positivos y 1 para los nmeros negativos. El exponente se representa con ayuda de una constante llamada bias (que es igual a -1) de la siguiente manera: el nmero almacenado en el espacio reservado para el exponente es en realidad la suma del bias y el exponente del nmero que queremos representar, por ejemplo, cuando el campo para el exponente tiene capacidad para 8 bits, el bias es y si nuestro nmero original tiene un exponente de 3, el nmero almacenado en el campo para el exponente ser 130 (3 + 127).
Para poder comprender mejor, veamos un ejemplo utilizando la precisin simple: Esta es la representacin del nmero 0.15625 en binario y las partes que lo integran. Como se observa, la parte decimal cuenta con un espacio de 32 bits para almacenar cifras.
Como se puede observar, el signo es positivo ya que el bit correspondiente a ste es 0. El exponente tiene almacenado un 124, por lo que el signo del nmero es un -3 (ya que -3 + 127 = 124). La fraccin es .01 (se aprecia un 0 y un 1 en las primeras dos posiciones que corresponden a la parte decimal), esta cifra, convertida a decimal resulta en un 0.25, por lo que el nmero representado se obtiene de la siguiente manera:
El nmero 1 que precede a la parte decimal significa que el nmero a representar est normalizado. Esto ocurre en la mayora de los casos. Normalizado significa que el exponente se encuentra en un rango de 1 a y que cuenta con alguna cifra en la parte decimal. Cuando un nmero contiene una cantidad mayor a cero en la parte entera, como por ejemplo -118.625, la normalizacin consiste en que una vez transformado el nmero a sistema binario (transformarlo sin signo), se recorre el punto decimal hasta dejar a un 1 (segn sea el caso) como parte entera, ajustar el exponente (es decir, el nuevo exponente ser equivalente al nmero de posiciones recorridas hacia la izquierda) y entonces, representar el nmero en binario de manera similar al ejemplo anterior rellenando con ceros los espacios sin ocupar para la parte decimal. La precisin doble es casi igual a la precisin simple. La nica diferencia que las distingue es que con la precisin doble los campos son ms grandes. Se tienen entonces 11 bits para representar al exponente y 52 bits para representar a la parte decimal. Contando al bit que representa el signo del nmero, la suma de los campos nos da un total de 64 (de ah los 64 bits que utiliza la precisin doble). La siguiente tabla muestra los lmites para la representacin en decimal tanto para la precisin simple como para la precisin doble:
Precisin Valores ms cercanos a cero Valores ms alejados de cero
Simple Doble
ENDIANNES
Podemos decir que la memoria es como un gran arreglo de bytes. As los ndices del arreglo los podemos llamar direcciones. Cada direccin en el arreglo de la memoria almacena un elemento que normalmente consiste en un byte. La memoria se puede acceder a travs de estos bytes. Cmo se almacenan los datos en la memoria? Supongamos que tenemos un dato que ocupa 32 bits de espacio (es decir 4 bytes): 90AB12CD16 (como cada dgito ocupa 4 bits, se necesitan 8 dgitos en hexadecimal para representar un valor de 32 bits). Los cuatro bytes de nuestro dato son: 90, AB, 12 y CD. Este dato se puede almacenar de dos formas:
BIG ENDIAN
Con la forma Big Endian, se almacena el byte ms significativo en la direccin de memoria ms pequea. Por lo que el dato del ejemplo podra lucir de la siguiente manera: Direccin de memoria 1000 1001 1002 1003 Valor almacenado 90 AB 12 CD
LITTLE ENDIAN
Con Little Endian, se almacena el byte menos significativo en la direccin de memoria ms pequea: Direccin de memoria 1000 1001 1002 1003 Valor almacenado CD 12 AB 90
Jonathan Swift pretenda hacer una stira acerca de lo insignificante que podan ser las razones por las cuales la sociedad de su tiempo discuta y entraba en conflicto.
REFERENCIAS
1. University of Maryland, Department of Computer Science. Big and Little Endian. [Online] 2003. [Cited: Febrero 07, 2011.] http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html. 2. Wikipedia, the Free Encyclopedia. IEEE 754-1985. [Online] Febrero 2011. [Cited: Febrero 05, 2011.] http://en.wikipedia.org/wiki/IEEE_754-1985.