• No se han encontrado resultados

Aritmética de punto flotante no normalizada.

Algoritmos de punto flotante

4.3. DEFINICIONES DE ARITMETICA DE PUNTO FLOTANTE NORMALIZADA

4.3.3 Aritmética de punto flotante no normalizada.

El uso de notaciOn normalizada de punto fiotante, puede provocar dificuitades al momento de determinar la cantidad de bits significativos en ci resultado. En muchas aplicaciones, la secuencia de operaciones aritméticas puede ser lo suficientemente larga de manera que el mimero de bits significativos en ci resultado pueden ser menos que la longitud de la palabra. Una indicaciOn del nilmero de bits significativos en los resultados intermedios y finales se puede obtener adoptando una notaciOn rio normalizada de punto fiotante.

Un nümero A no normalizado de punto fiotante

tiene una fracciOn menor que la unidad; esto Cs,

Dc hecho, una fracciOn no normaiizada puede tener un valor menos que r’, dado que el bit de la fracciOn de más alto orden no se requiere que sea 1. Para una base 2, esto da una fracciOn de la forma 0.0 1 xx x hasta 0.00 ... 1, lo que permite que un niimero de punto

fiotante no normalizado pueda tener varias representaciones internas.

Sea la fracciOn

f

una fracciOn con signo de la forma signo-magnitud, con una magnitud de n bits a la derecha del punto de la base, y sea ci exponente e un entero de la forma signo-magnitud con m bits más uno de signo y que satisfaga

Todas las operaciones de punto flotante previas han asumido operandos normalizados. Sin embargo, el procesador puediera recibir operandos no normalizados y prenormalizarlos antes de que se procesen por ci hardware de punto fiotante.

La suma y Ia resta de punto fiotante no normalizada, son escencialmente iguales a sus contrapartes normalizadas. Sin embargo, si ci carry de salida de más alto orden de la fraccion es 1, no causa una opcraciOn de desplazamiento, a menos que ci carry sea del bit de alto orden de la fracciOn. Después que se ha rcaiizado la operaciOn de adiciOri, la suma sc trunca a la longitud apropiada de las fracciones sin realizar la normalizaciOn. Los 0’s al principio no se eliminan en la fracciOn resiiltante.

~.3. DI~LlXf(IQ\1hI)I~.IRIIMETICA DE PUXTO FLOIANTE NORMALIZADA.111

Asuniase (los opviandos no normalizados tales que

donde

f

(s in frac(iO11 110 iiorroalizada. C Cs el exponente. v r es la base. Dado que la adición

CS (:ollIIllltativa. se puede asuimr ciue ~1 ~ ~ perder generaiidad. También, Ia suma

v Li resta pueOeii ser tratadas como lii misrna operaciOn. La suma de cbs operandos no

llormaliza(los (IC pHoto fbiante se ([Chile entonces comb

La Ilotacioli

[~

-+ ([2 x i~(~1) > 1 sigiiifica que insuma resultante tierie una fracciOn que excede ci liinite superior. requirienclo un desplazamiento a Ia clereclia de uria posicion. Las

(IChhli(jOileS (IC in EcuaciOn 1,16 es similar a la definiciOn de là suma normalizada; sin em— har~o.110 SC reqiiiere portiiormiializaciori y no es posible que ocurra un bajofiujo del exponente.

Pam ejeiiiplificar in EcuaciOn 4.16 se presentan en la Figura 4.3 las situaciones que pueden oclurir. La base cii estos ejemplos es 2. En la Figura 4.3(a). là fracciOn resultante 0.01 0 000 es menos a in uiiidad. por lo tanto flO requiere ajuste. Sin embargo, Ia Figura 4.3(b) pro-

(111CC liii resuitado 1.0 0 1 0 1 0. que es un rango mayor o igiial a la unidad. En este caso, ci result ado se inultiphea por ~ I (2~ para base 2), io cual desplaza el resultado un bit a

là derecba (equivalerite a clividir sobre 2). El exponente e1 se toma como ci exponente del

resiiltado e incrementándolo en urio paraacomociar ci despiazamiento a là derecha.

Pam làmultiplicaciOn no normahzada (IC punto flotante, se einpieará nomenciatura adi-

Cional. Sea z un nñmero con ceros después dci punto de ha base, por ejemplo

NOtese que ci valor (he fi = 0 cuandoz1 mm. Sea e’ ci exponente ajustado si la normahzaciOn

odurnera. Eiitonces, un operando no norrnahzado A1 puede ser escrito corno

(bride

La EcuaciOn 4.18 represerita ci operando corno ci ndmero equivalente normalizado. Usanclo ci e~enipiopl’Cvio, doiide

112 CAPITULO 4. ALGORITMOS DE PUNTO FLOTANTE

Figura 4.3: Ejemplos de la suma de punto flotante no normalizada: (a) suma menor a uno; (b) suma mayor o igual a uno.

que multiplica a la fracciOn no normalizada por 16, por lo tanto, normalizando ia fracciOn. La ecuaciOn simplemente ajusta ci exponente debido al despiazamiento a la izquierda.

Este método ahora permite que un operando no normalizado sea escrito como un ope- rando normaiizado, permitiendo el uso de la EcuaciOn 4.10. Asúmase que [f1]~ If2~,io que asegura que z1 z2, como se muestma a continuaciOn.

4.3. DEFINICIONES DE ARITMETICA DE PUNTO FLOTANTE NORMALIZADA.113

que es idéntica a là EcuaciOn 4.10, indicando un procedimiento similar para la muitipiicaciOn de nümeros no normalizados. Sin embargo, ci procesador equipado con là habilidad de detectar ceros precedentes, y asI determinar cuai de los dos numeros tiene là mayor cantidad de ceros a là derecha del uno de más alto orden. Esto ser~tci ntimero con menos bits significativos. La fracciOn del producto deberá scm desplazada, SI es necesario, de manera que contenga ci misrno nümero de ceros. El exponente del producto se ajusta de ser necesario. La divisiOn de operaridos no normaiizados en punto fiotante puede definirsc similarmnente como

El procesador, como en ci caso anterior, debe ser capaz de detectar los ceros precedentos en ei dividendo y ci divisor, además debe de tener ia habilidad de desplazar los dIgitos del cociente para obtener ci mismo nilmero de ceros precedentos a là izquierda del 1 de más alto orden.

La aritmética normaiizada de punto fiotante puede ser menos sensible a errores de re- dondeo porque esto ocurre sobre la lOngitud completa de là fracciOn de longitud n.