Monografías Plus »

Operaciones de Punto Flotante



Monografias.com
Punto fijo Se usa aritmética entera y se imagina el punto binario en algún otro lugar que no sea a la derecha del bit menos significativo Punto flotante - Es la representación que se ha adoptado para este tipo de números - El valor representado se divide en dos partes, un exponente y un significand Ejemplo: exponente = -4 significand = 1,7 Representación de números fraccionarios
Monografias.com
¿El formato es estándar o existe más de uno? - En el pasado el comportamiento de las operaciones de punto flotante variaban considerablemente de una familia de computadoras a otra. - Las variaciones incluían cosas tales como número de bits utilizados para el exponente y el significand, el rango del exponente, cómo se implementa el redondeo y las acciones que se toman ante condiciones excepcionales (underflow, overflow). - En la actualidad se convergió al formato especificado por el estándar IEEE 754 Existe más de un formato?
Monografias.com
Signo Exponente Mantisa Bit de signo 0 para los positivos 1 para los negativos Exponente Representación en exceso (exceso = 2N_EXP-1-1) Mantisa Normalizada Campos del formato
Monografias.com
- Los analistas numéricos pueden construir bibliotecas de cálculo de alta calidad - Los diseñadores de computadoras pueden desarrollar técnicas para implementar hardware de altas prestaciones - Se pueden intercambiar los resultados de los programas ejecutados en distintas arquitecturas Ventajas de usar el mismo formato
Monografias.com
La aritmética IEEE difiere con respecto a las anteriores en lo siguiente: - Cuando se redondea un resultado de medio camino al número de punto flotante más cercano, toma el que es par - Incluye los valores especiales NaN, infinito y -infinito - Utiliza números desnormalizados para representar valores menores que 1.0 x 2Emin - Redondea al valor más cercano por defecto, pero tiene además otros tres modos de redondeo - Tiene facilidades para el manejo de excepciones Diferencias de la aritmética IEEE
Monografias.com
- En muchos sistemas de punto flotante si Emin es el exponente más chico, un número menor a 1.0 x 2Emin no puede ser representado. Por lo que si una operación presenta un valor así se lo lleva a cero. - En el estándar IEEE los números menores a 1.0 x 2Emin son representados usando significands menores que 1 (es lo que se denomina como gradual underflow) Números desnormalizados (Denormals)
Monografias.com
Ejemplo 1: se tiene el número x = 1.234 x 10Emin, con un significand de cuatro dígitos en base 10 . - Si se divide por 10, se redondea a 0.123 x 10Emin - Si se divide por 100, se redondea a 0.012 x 10Emin - Si se divide por 1000, se redondea a 0.001 x 10Emin - Si se divide por 10000, se redondea a 0.000 x 10Emin Números desnormalizados (Denormals)
Monografias.com
Ejemplo 2: se tienen dos números x = 1.245 x 10Emin , y = 1.232 x 10Emin, con un significand de cuatro dígitos en base 10 . - La operación x – y = 0 (sistema sin denormal) - La operación x – y = 0.013 x 10Emin (sistema con denormals) En el ejemplo se puede observar que en el primer sistema, aún cuando x <> y la operación x – y = 0. Números desnormalizados (Denormals)
Monografias.com
Números desnormalizados (Denormals)
Monografias.com
Parámetros del estándar IEEE 754
Monografias.com
Representación de valores
Monografias.com
(Gp:) Operación de multiplicación
Monografias.com
Sean n1 y n2 dos números binarios en punto flotante: n1 = s1 x 2e1 , n2 = s2 x 2e2 La multiplicación de estos dos números será: n1 x n2 = (s1 x 2e1) x (s2 x 2e2) = (s1 x s2) x 2e1+e2 Multiplicación
Monografias.com
Multiplicar los significands utilizando multiplicación entera Redondear el resultado Calcular el nuevo exponente Multiplicación: Pasos
Monografias.com
rnd sticky Producto Caso 1: X0 = 0 El bit más significativo de P es 0. Se desplaza P a izquierda un bit, introduciendo en P el bit g de A. El bit más significativo de P es 1. Hacer s := s v r y r := g, y sumar 1 al exponente. Multiplicación: Casos rnd sticky Caso 2: X0 = 1
Monografias.com
Operación: A x B Operandos: A y B (23 bits, 6 de exponente) A = 8323071 B = 2007961 A = B = Multiplicación: Ejemplo