You are on page 1of 5

INSTITUTO TECNOLGICO DE TOLUCA

ESPECIALIDAD: INGENIERA EN SISTEMAS COMPUTACIONALES MATERIA: TPICOS SELECTOS DE PROGRAMACIN

PROFESOR: IMELDA VERTTI GUZMN DESARROLLADO POR: MARIANA LPEZ JAIMEZ

TEMA: MANEJO DE MEMORIA: REPRESENTACIN DE FLOTANTES, BIG ENDIAN, LITTLE ENDIAN Y CONVERSIONES NUMRICAS

FEBRERO 08, 2011.

REPRESENTACIN EN MEMORIA DE LOS DATOS TIPO FLOTANTE


La forma de representar nmeros de tipo flotante en la memoria de la computadora est dictada por la norma IEEE 754-1985, la cual establece los formatos para definir este tipo de datos as como un conjunto de operaciones que pueden ser aplicables a stos junto con los tipos de redondeo y cinco excepciones que pueden presentarse al trabajar con ellos (tambin se especifica en qu casos ocurren estas excepciones y qu pasa cuando stas ocurren). La IEEE 754-1985 especifica cuatro formatos para la representacin de datos de tipo flotante: precisin simple (de 32 bits), precisin doble (de 64 bits), precisin simple extendida (mayor o igual a 43 bits, no se utiliza muy comnmente) y precisin doble extendida (mayor o igual a 79 bits, que usualmente se implementa hasta los 80 bits). Este estndar requiere nicamente que se cuente con la precisin simple, las otras tres son opcionales para un sistema.

ESTRUCTURA DE UN NMERO FLOTANTE


De acuerdo con la IEEE 754-1985, los nmeros flotantes en el sistema binario tienen la siguiente representacin:

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

HISTORIA DE LOS CONCEPTOS BIG ENDIAN Y LITTLE ENDIAN


Big Endian y Little Endian provienen del libro Los viajes de Gulliver de Jonathan Swift. En este libro el autor describe cmo ciertas personas dentro de una poblacin preferan comenzar a comer sus huevos cocidos por el lado pequeo (Little Endian) y cmo otras personas preferan comerlos empezando por el lado ms grande (Big Endian). Esto era tomado tan en serio que fue causa de guerras entre dicha poblacin. Con esto,

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.

You might also like