Você está na página 1de 21

Ampliacin de Estructura de Computadores

Curso 2010-2011

5.2 Aritmtica en coma flotante.


Introduccin. Hasta ahora hemos visto algoritmos aritmticos para realizar operaciones sobre representaciones de nmeros en coma fija. Todos ellos se pueden utilizar para las representaciones en coma flotante a condicin de tener en cuenta el escalado, es decir, conocer la posicin correcta del punto donde se localiza la separacin entre la parte entera y la parte decimal. Pero en el computador, todo dato debe ser almacenado en un registro con un nmero finito de bits. Y la pregunta es cmo almacenamos los datos en coma flotante?. La respuesta ha esta pregunta comienza preguntndonos primero si es necesaria la notacin en coma flotante en los ordenadores, y si se implementa con que caractersticas?. John Von Newmann rechazo incluir la aritmtica en coma flotante en la mquina que construyo en Princentom. Y durante muchos aos, cada fabricante y prcticamente cada computador utilizaban una aritmtica distinta.

El hardware de punto flotante se populariz al comenzar a ser de utilidad hacia 1957 en el que una unidad decimal de punto flotante estuvo disponible en el IBM 650, y pronto las series IBM 704, 709, 7090, 7094, etc ..., ofrecieron hardware binario de punto flotante para simple y doble precisin. Como consecuencia se dispona ya de punto flotante en gran parte de computadores, pero cada implementacin era diferente. Sobre 1976 John F. Palmer en Intel comienza el desarrollo de una aritmtica de punto flotante para toda la lnea de productos de Intel. La aparicin del 8086 era inminente, y se estaba contemplando la opcin de incorporar un coprocesador de punto flotante, el 8087, para el 8086. El coprocesador era un chip adicional que aceleraba una parte del trabajo del procesador, en este caso los clculos en punto flotante. En aquellos tiempos las aritmticas de punto flotante eran ligeramente diferentes entre los grandes computadores pero una verdadera anarqua entre los microcomputadores,
Vicente Arnau Llombart 12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

en los que era necesario albergar una docena de aritmticas diversas en el firmware de la ROM o va software. Robert G. Stewart, un ingeniero de la IEEE trat de controlar esta anarqua reinante y propuso que el IEEE disease un estndar aceptable de punto flotante. Las reuniones de este comit en referencia al punto flotante comenzaron a finales de 1977 con multitud de borradores que provenan de innumerables fuentes y se alargaron hasta 1985 cuando se hizo oficial el Standard 754 del IEEE para punto flotante binario, basado en el diseo inicial de Intel, pero algo simplificado. En 1980 Intel harta de esperar lanza el 8087 para su uso en el Ibm Pc, paralelamente Motorola anuncia en 1982 su 68881, utilizado en el Sun 3 y el Macintosh II, al mismo tiempo de estos lanzamientos el estndar finalmente apareci. Representacin en Coma Flotante. Con esta notacin exponencial seremos capaces representar un amplio rango de valores numricos positivos y negativos centrados en el cero. Un nmero cualquiera X expresado en notacin exponencial se puede escribir como:

X = M * BE
y si lo queremos representar en un registro de n bits, utilizaremos p bits para la mantisa M y q bits para el exponente E, adems del un bit de signo s de la mantisa (del nmero en si). Siendo B la base del exponente y cumplindose que : n = p+q+1 La base B est implcita y no es necesario representarla, pues es la misma siempre. El nombre de coma flotante proviene de que al ajustar el exponente E se modifica la posicin del punto decimal en la mantisa M. El diseador de la aritmtica debe conseguir un compromiso entre los tamaos de la mantisa y los tamaos del exponente, ya que al tener un nmero fijo de bits totales, si se toma un bit de un campo se pierde del otro y viceversa. Este compromiso se mueve entre la precisin y el rango que deseemos del nmero en punto flotante, es decir incrementar el tamao de la mantisa enriquece el nmero de de bits para representar la mantisa, mientras que incrementar el tamao del exponente incrementa el rango de nmeros que pueden representarse. Ejemplo: Sean los siguientes nmeros: 97600000000000000 = 9,76 * 10+16 = 0,976 * 10+17 0.000000000000976 = 9,76 * 10-16 = 0,976 * 10-15
para pasarlos a notacin exponencial lo que hemos hecho es mover el punto decimal y utilizar el exponente para registrar la posicin original de dicho punto.

En un computador, los valores de M y E se suelen codificar de la siguiente forma: Mantisa.


Vicente Arnau Llombart 12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

La mantisa M suele ser una representacin en complemento a 2 (con signo). La precisin de las representaciones numricas va a depender del nmero de bits que utilicemos para la mantisa. Por ello es fundamental que la mantisa tenga el mayor nmero de bits significativos, para lo cual se debe normalizar. La normalizacin de la mantisa en base 2 se consigue desplazando hacia la izquierda la mantisa hasta que el bit a la derecha del punto de la raz sea uno (o el de la izquierda). Por ello, al colocar el primer uno a la derecha del punto decimal, tendremos que la magnitud de la mantisa en valor absoluto tiene un valor dentro del rango:

|m|

Ejemplo: Normalizacin de un nmero exponencial en base 2.

110.101

0.110101 * 211 =

1.10101 * 210

Exponente. Es un nmero de p bits que utiliza una representacin exceso 2p-1 por las razones que vamos a exponer. a) El 0 se podra representar como M=0 y cualquier valor de exponente. Pero puede ocurrir que al realizar operaciones aritmticas, a causa de los errores de redondeo, apareciera algn 1 en posiciones menos significativas de la mantisa. Esto sugiere que el exponente ms adecuado para representar el 0 es aquel que tiene el mayor valor negativo. De esta forma, se logra que los errores de redondeo de la mantisa, den un nmero tan prximo a cero como sea posible. b) La representacin del 0 es una secuencia de 0`s tanto en la mantisa como en el exponente, de esta forma tenemos una nica representacin del cero.

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Operaciones en coma flotante.


A continuacin vamos a recordar las cuatro operaciones bsicas que se realizan sobre este tipo de representaciones. Suma y Resta. Cuando sumamos o restamos dos nmeros en coma flotante se deben comparar los exponentes y hacerlos iguales, para lo cual hay que desplazar o alinear uno de ellos respecto al otro. Dados dos nmeros en representacin en coma flotante como

x = mx 2xe

y = my 2ye

las operaciones de suma y resta se definen de la siguiente forma, suponiendo que xe < ye:

x+y = xy =

(mx 2xe-ye + my ) 2ye = (mx 2xe-ye - my ) 2ye =

(mx + my 2ye-xe ) 2xe (mx - my 2ye-xe ) 2xe

Ejemplo: Sean x e y los siguientes nmeros enteros x = 2560 y = 516000 en notacin exponencial normalizada tendramos x = 2.56 103 y = 5,16 105 Si quisiramos realizar las operaciones de suma o de resta en la notacin en coma fija haramos lo siguiente: x+y ==> 2560 + 516000 518560

que seria

5,1856 105 5,13440 105

x-y ==>

(2560 - 516000) = -513440 que seria

Y para realizar estas operaciones en representacin en coma flotante deberamos aplicar las frmulas vistas con anterioridad: x+y ==> x+y = 2.56 103 + 5,16 105 (2.56 103-5 + 5,16) 105 (2,56 10-2 + 5,16) 105 (0,0256 + 5,16) 105 (5,1825) 105 2.56 103 - 5,16 105 (2.56 103-5 - 5,16) 105 (2,56 10-2 - 5,16) 105 (0,0256 - 5,16) 105 (-5,13440) 105
12/11/2010

x-y ==>

x-y =

Vicente Arnau Llombart

Ampliacin de Estructura de Computadores

Curso 2010-2011

Problema: Sean x e y los siguientes nmeros enteros x = 737 y = 267337 Psalos a notacin exponencial y calcula Expresa el resultado de forma normalizada

y-x =

Ejemplo: Sean x e y los siguientes nmeros en base-2 x = 11000 y = 1010000 Los pasamos a notacin exponencial y realizamos las operaciones: X+Y: X = 1,1 * 2100 Y = 1,01 * 2110 x+y y x-y.

X+Y

= = = =

(1.1 * 2100-110 + 1.01) * 2110 = (1.1 * 2-10 + 1.01) * 2110 = (0,011 + 1,01) * 2110 = 1,101 * 2110

0,011 + 1,01 1,101

X-Y:

No olvidaros de comprobar siempre el resultado.


Vicente Arnau Llombart 12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Problema: Sean x e y los siguientes nmeros en base-2 x = 1110101 y = 11101 Pasarlos a notacin exponencial y realiza las operaciones: x+y, y-x y x-y. Importante en este caso: expresa el resultado de forma normalizada.

Las operaciones de suma y resta, as como la multiplicacin y la divisin pueden producir reboses, por producir resultados demasiado grandes (desbordamientos) o demasiado pequeos (subdesbordamientos). Hay cuatro tipos de reposes posibles: 1) Desbordamiento del exponente. Es cuando un exponente positivo E excede de su valor mximo permitido. En algunos ordenadores el nmero X se representa entonces como + o - . 2) Subdesbordamiento del exponente. Es cuando un exponente negativo E excede de su valor mximo permitido. Esto significa que el numero X es demasiado pequeo y se puede considerar como igual a 0. 3) Subdesbordamiento de mantisa. En el proceso de alineacin de las mantisas, si los dgitos se desplazan hacia la derecha ms all de su bit menos significativo, lo que sucede es que se pierden y es como redondear el resultado. 4) Desbordamiento de mantisa. En la suma de dos mantisas del mismo signo se puede producir un arrastre del bit ms significativo. Esto se soluciona mediante la renormalizacin, desplazando a la derecha un bit la mantisa y ajustando el exponente. La precisin de la representacin en coma flotante no posee la misma precisin en toda la recta Real. En la figura siguiente se puede apreciar como podemos representar con ms precisin o
Vicente Arnau Llombart 12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

con mayor densidad de nmeros, al acercarnos al cero. Y perdemos precisin al alejarnos hacia ms o menos infinito.

Algoritmo de la suma-resta. Por lo visto con anterioridad, para realizar la suma (resta) de dos operandos en representacin coma flotante debemos realizar previamente la separacin de los exponentes y de las mantisas para su tratamiento posterior, y despus realizar esta serie de pasos: 1. Seleccionar el nmero con menor exponente y desplazar su mantisa a la derecha tantas veces como indique la diferencia en mdulo de los exponentes. 2. Hacer que el exponente resultado sea igual al mayor de los exponentes. 3. Realizacin de las operaciones de suma o resta con las mantisas. 4. Normalizacin del resultado. Una vez realizada la suma se debe normalizar desplazando los bits de la mantisa hacia la izquierda o la derecha con lo cual habr que cambiar el valor del exponente. 5. Comprobar las condiciones de rebose. Un diagrama de flujo del algoritmo se muestra en la figura de la pgina siguiente. Se utilizan los mismos registros que para el caso de la suma resta, y el resultado final que almacenado en los registros A y E.

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Multiplicacin y divisin. La multiplicacin y la divisin en punto flotante son ms sencillas de realizar. Vemos la formula que nos permitir realizar estas operaciones manualmente:

x*y x
Ejemplo: X = 256

(mx * my ) 2xe+ye (mx


Y = 51600

my ) 2xe-ye

Realizar X*Y y X/Y con notacin exponencial y comprobar el resultado.

Ejemplo: Dados

X= 11000

Y=1010000

realizar X*Y y X/Y con notacin exponencial y comprobar el resultado.

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Ejercicio de examen: Tenemos dos nmeros reales cuyos valores son X = (120)10 e Y= (-0.6875)10 Se pide: a) Dar su expresin en binario (base-2). b) Pasar a notacin exponencial normalizada. c) Realizar las operaciones X*Y y X/Y usando la notacin exponencial. Algoritmo de multiplicacin y divisin. Este algoritmo est fundamentado en el seguimiento de cuatro pasos: 1. Realizar la Suma-Resta de los exponentes. 2. Multiplicar-dividir las mantisas y determinar el signo del resultado. 3. Normalizar el valor resultado, si es necesario. 4. Comprobar las condiciones de rebose. Un posible algoritmo para realizar estas operaciones se muestra en las figuras que se muestran en las transparencias, en el cual el resultado final quedar almacenado en los registros A y E.

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Aritmtica en Coma Flotante en el computador.


Las Unidades aritmticas en como flotante de los computadores se construyen utilizando dos unidades aritmticas en como fija: Unidad de tratamiento de mantisas. Unidad de tratamiento de exponente.

Mas una Unidad de Control que conectar ambas unidades y que se encarga entre otras cosas de normalizar adecuadamente el resultado. En todos los computadores se ha normalizado la notacin en coma flotante al estndar IEEE-754. Este estndar posee dos formatos posibles de representacin o almacenamiento de la informacin, aunque internamente puede utilizarse formatos con ms bits para una mayor precisin.
IEEE 754 El IEEE (Instituto de Ingenieros Elctricos y Electrnicos) ha creado un estndar para la presentacin de nmeros en coma flotante. Este estndar especifica como deben representarse los nmeros en coma flotante con simple precisin (32 bits) o doble precisin (64 bits), y tambin cmo deben realizarse las operaciones aritmticas con ellos. Simple Precisin El estndar IEEE-754 para la representacin en simple precisin de nmeros en coma flotante exige una cadena de 32 bits. El primer bit es el bit de signo (S), los siguientes 8 son los bits del exponente (E) y los restantes 23 son la mantisa (M):

Al estar el dato normalizado, es decir expresado siempre como 1, (uno coma algo ms), el 1 de la parte entera no se almacena, aunque nunca debemos olvidarnos que existe. El signo de la mantisa est representado en el bit 31. El campo del exponente (ne) dispone de 8 bits, empezando por el bit 23 hasta el bit 30. El campo de mantisa (nm) dispone de 23 bits, empezando por el bit 0 hasta el bit 22. Considerando el valor 1 implcito (oculto) para el primer bit de los nmeros binarios normalizados la precisin del campo de la mantisa es de 24 bits. El valor del desplazamiento es de 127, es decir el exceso C = 2 7-1 = 127.
Vicente Arnau Llombart 12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Estos tamaos de exponente y mantisa dan a la aritmtica del computador un rango que cubre fracciones tan pequeas como 2.0 diez x 10 -38 y nmeros tan grandes como 2.0 diez x 10 38.

El valor V representado por esta cadena puede ser determinado como sigue: Si E=255 y M es no nulo, entonces V=NaN ("Not a number") Si E=255 y M es cero y S es 1, entonces V=-Infinito Si E=255 y M es cero y S es 0, entonces V=Infinito Si 0<E<255 entonces V=(-1)**S * 2 ** (E-127) * (1.M) donde "1.M" se emplea para representar el nmero binario creado por la anteposicin a M de un 1 y un punto binario. Si E=0 y M es no nulo, entonces V=(-1)**S * 2 ** (-126) * (0.M) Estos son valores "sin normalizar". Si E=0 y M es cero y S es 1, entonces V=-0 Si E=0 y M es cero y S es 0, entonces V=0

En particular,
0 00000000 00000000000000000000000 = 0 1 00000000 00000000000000000000000 = -0 0 11111111 00000000000000000000000 = Infinito 1 11111111 00000000000000000000000 = -Infinito 0 11111111 00000100000000000000000 = NaN 1 11111111 00100010001001010101010 = NaN 0 10000000 00000000000000000000000 = +1 * 2**(128-127) * 1.0 = 2 0 10000001 10100000000000000000000 = +1 * 2**(129-127) * 1.101 = 6.5 1 10000001 10100000000000000000000 = -1 * 2**(129-127) * 1.101 = -6.5 0 00000001 00000000000000000000000 = +1 * 2**(1-127) * 1.0 = 2**(-126) 0 00000000 10000000000000000000000 = +1 * 2**(-126) * 0.1 = 2**(-127) 0 00000000 00000000000000000000001 = +1 * 2**(-126) * 0.00000000000000000000001 = 2**(-149) (valor positivo ms pequeo)

Doble precisin El estndar IEEE-754 para la representacin en doble precisin de nmeros en coma flotante exige una cadena de 64 bits. El primer bit es el bit de signo (S), los siguientes 11 son los bits del exponente (E) y los restantes 52 son la mantisa (M):

El signo de la mantisa est representado en el bit 63. El campo del exponente (ne) dispone de 11 bits, empezando por el bit 52 hasta el bit 62.
Vicente Arnau Llombart 12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

El campo de mantisa (nm) dispone de 52 bits, empezando por el bit 0 hasta el bit 51. Considerando el valor 1 implcito (oculto) para el primer bit de los nmeros binarios normalizados la precisin del campo de la mantisa es de 53 bits. El valor del desplazamiento es de 1023,es decir el exceso C = 2 10- 1 = 1023. Estos tamaos de exponente y mantisa dan a la aritmtica del computador un rango que cubre fracciones tan pequeas como 2.0 diez x 10 -308 y nmeros tan grandes como 2.0 diez x 10 308.

El valor V representado por esta cadena puede ser determinado como sigue: Si E=2047 y M es no nulo, entonces V=NaN ("Not a number") Si E=2047 y M es cero y S es 1, entonces V=-Infinito Si E=2047 y M es cero y S es 0, entonces V=Infinito Si 0<E<2047 entonces V=(-1)**S * 2 ** (E-1023) * (1.M) donde "1.M" se emplea para representar el nmero binario creado por la anteposicin a M de un 1 y un punto binario. Si E=0 y M es no nulo, entonces V=(-1)**S * 2 ** (-1022) * (0.M) Estos son valores "sin normalizar". Si E=0 y M es cero y S es 1, entonces V=-0 Si E=0 y M es cero y S es 0, entonces V=0

Precisin Extendida

Formato de precisin extendida en IEEE754. Este formato suele reservarse normalmente para almacenar resultados intermedios, su longitud extra le permite proteger los resultados finales del redondeo y los clculos intermedios del overflow y underflow. El bit implcito de los anteriores formatos aqu no se contempla, ya que se encuentra fsicamente presente en la mantisa.

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Problema: Representar el numero simple precisin.

A = 0,11010001 * 210100 segn el IEEE-754

A = 0,11010001 * 210100 = 1,1010001 * 210011 El exponente ms es sesgo(127) vale: 00010011 +01111111 10010010 0

entonces el nmero vale: 101 0001 0000 0000 0000 0000 5 1 0 0 0 0

100 1001 0 4 9

Problema: Representar el numero A = 0,11010001 * 210100 segn el IEEE-754 doble precisin, y da en hexadecimal el resultado.

Problema: Representar el numero A = -0,11010001 * 2-10100 segn el IEEE-754 simple precisin. Y luego en Doble precisin. Comprobar si es vlida la frmula para pasar de simple a doble precisin (tengo mis dudas).

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Redondeo. Cuando tenemos un valor no representable, se aproxima a uno de estos 4 casos: Redondeo hacia el valor ms prximo. Redondeo hacia + Redondeo hacia - Redondeo hacia 0.

Bit de guarda. Cualquier operacin aritmtica se realiza sobre formatos ampliados. De esta forma ganamos precisin en la realizacin de las operaciones aritmticas. Veamos un ejemplo de la importancia de utilizar representaciones ampliadas, o bits de guarda:

Restamos dos nmeros muy prximos y con mantisa de 24 bits. X = 1,00 ... 00 * 21 Y = 1,11 ... 11 * 2o Sin Bits de guarda: X-Y X: 1,00 . . . 00 * 21 Y: - 0,11 . . . 11 * 21 0,00 . . . 01 * 21

(mantisa un bit a la derecha)

Normalizado 1,00 . . . * 2-22 Con Bits de guarda (4 bits de guarda): X-Y X: 1,00 . . . 00 0000 * 21 Y: - 0,11 . . . 11 1000 * 21 0,00 . . . 00 1000 * 21 Normalizado 1,00 . . . * 2-23

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

Conversin de SFP a DFP. La conversin de simple a doble precisin de realiza siguiendo el esquema:

17.25 = 10001.01 = 1.000101 * 2100 (17.25)SP (17.25)SP = = 0 Ox 100 0001 1 4 1

exp = 10000011

000 1010 0000 0000 0000 0000 8 A 0 0 0 0

En doble precisin: 17.25 = 10001.01 = 1.000101 * 2100 exp = 00000000100 + 01111111111 10000000011 0 = Ox 100 0000 0011 4 0 3 0001 0100 0000 1 4 . . . 0000

(17.25)DP = (17.25)DP

0 0 0 0 0 0 0 0 0 0 0

Ejercicio: Hallar la representacin del nmero decimal 754 S.P. y despus pasarlo a doble precisin.

A= (-255)10

segn el IEEE-

Ejercicio: Hallar la suma de los nmeros

X=0x418A0000 + Y=0xCA4F0000

Ejercicio para el martes 10-X-2009: Hallar la suma de los nmeros X=0x418A0000 + Y=0xC44F0000
Vicente Arnau Llombart 12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

P // Realizar la suma de X e Y usando la representacin IEEE-754 y el algoritmo visto en clase. X = 24 = ( 11000)2 = 1.1 * 2100 Y = 80 = (1010000)2 = 1.01 * 2110 X Y Inicio Registros: = = 0 0 10000011 10000101 10000000000 010000000000 A = 1.1 M = 1.01 pero es mejor as, usando Complemento-2: (-2)C2 ... ... 00 00

E1 = 00000100 E2 = 00000110 E = E1-E2 = 100 110 = -10

Paso 1:

E = 00000100 00000110 = 11111110 E<0 si >>A= 0.11

E = E + 1 = -10 + 1 = -1 E = 11111110+(1) = 11111110 + 00000001 = 11111111 E<0 si >>A= 0.011 E = E + 1 = -1 + 1 = 0 E = 11111111+(1) = 11111111 + 00000001 = 00000000 E<0 Paso 2: no E>0 no

E = Max (E1, E2) = 110 Sumo el Sesgo: E = 00000110 + 01111111 = 10000101

Paso 3:

A=A+M A : 0.011 + 1.01 1.101

A Rebose? A = 0 ?

NO NO SI

A Normalizado ???

FIN : X+Y = 0 10000101 1010000000 . . . 00 X+Y = 0x42D00000

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

P // Realizar el producto de X e Y usando la representacin IEEE-754 y el algoritmo visto en clase. X = 24 = ( 11000)2 = 1.1 * 2100 Y = 80 = (1010000)2 = 1.01 * 2110 X Y Inicio Registros: = = 0 0 10000011 10000101 100000000000 010000000000 ... ... 00 00

E1 = 10000011 sesgo = 00000100 E2 = 10000101 sesgo = 00000110

A = 1.1 M = 1.01

Paso 1:

E = E1+E2 = 00000100 + 00000110 = 00001010 E + sesgo = 00001010 + 01111111 = 10001001 A = A * M 1.1 * 1.01 11 00 11 1.111

Paso 2:

E Rebose ? A = 0 ?

NO NO SI

A Normalizado ?

FIN : X*Y =

10001001

1110000000

...

00

X * Y = 0x44F00000
Comprobacin:

X * Y = 24 * 80 = 1920 = (11110000000)2 = 1.111 * 21010 Exp + sesgo = 00001010 + 01111111 = 10001001

1920 =

10001001

1110000000

...

00

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

P // Realizar el cociente entre Y / X usando la representacin IEEE-754 y el algoritmo visto en clase. X = 24 = ( 11000)2 = 1.10 * 2100 Y = 80 = (1010000)2 = 1.01 * 2110 X Y = = 0 0 10000011 10000101 100000000000 010000000000 ... ... 00 00

Inicio Registros:

E1 = 10000011 sesgo = 00000100 E2 = 10000101 sesgo = 00000110

A = 1.01 M = 1.1

Paso 1:

E = E1-E2 = 110 - 100 = 010 pero es mejor hacerlo de esta forma: E = E1-E2 = 00000110 - 00000100 = 00000010 E + sesgo = 00000010 + 01111111 = 10000001
(todo en C2)

Paso 2:

A=A/M 1.01 1.1 10 0 0.1101010101... 1 00 ... NO NO

E Rebose ? A=0?

A Normalizado ? NO : A = 1.10101010101010... E = E 1 = 10000000

FIN :

Y/X=

10000000

10101010101010101010101

Y/X = 0x40555555

Vicente Arnau Llombart

12/11/2010

Ampliacin de Estructura de Computadores

Curso 2010-2011

PROBLEMAS PARA CASA:

P1) Qu nmero decimal es el A=0x4066C7E140000000? P2) Representar el nmero X = 0.6875 en formato SP y DP segn la norma IEEE-754 y tambin el nmero X = -7,75 pero solo en formato SP.
Solucin: en SP es 0x3F300000 Solucin: en SP es C0F80000

P3) Multiplicar las representaciones de X e Y segn IEEE-754 en Simple Precisin. X = -7.75 e Y = 0.6875 P4) Dividir las representaciones de X e Y segn IEEE-754: Y / X. X = 7.75 e Y = 255.5 P5) Qu nmero es el X=0x4066C7E140000000 si representa un real en D.P. segn la IEEE754?. Qu nmero es el Y=0x40F80000 si representa un real en S.P. segn la IEEE-754?. Pasa el segundo nmero a Doble precisin y realiza todas las operaciones aritmticas posibles sobre estos nmeros, es decir: X+Y, X-Y, Y-X, X*Y, X/Y, Y/X?, usando el algoritmo expresado en el diagrama de bloques. P6) Representar el nmero X = 1785 en formato SP segn la norma IEEE-754.
Resultado en S.P : 0x44DF2000 Resultado en D. P. : 0x409BE4000000000

P7) Representar el nmero X = -56.320 en formato S.P. y D.P. segn la norma IEEE-754.
Resultado en S. P. : 0xC26147AE Resultado en D. P. : 0xC04C28F5C28F5C29

P8) Suma las representaciones de X e Y segn IEEE-754. X = 271 e Y = 103 P9) Resta las representaciones de X e Y segn IEEE-754: X Y. X = 170 e Y = 176 P10) Multiplicar y divide las representaciones de X e Y segn IEEE-754: X * Y X/Y. X = 3075.59375 e Y = -0.0234375 P11) Representar el nmero X = -72.084228515625 en formato SP y DP segn la norma IEEE-754.

P12) Multiplicar las representaciones de X e Y segn IEEE-754: X * Y X = 5.38 e Y = -2.71

X/Y.

P13) Expresa el nmero X=0.0035 en Simple precisin segn el IEEE-764.

Vicente Arnau Llombart

12/11/2010

Você também pode gostar