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
¿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?
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
– 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
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
– 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)
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)
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)
Números desnormalizados (Denormals)
Parámetros del estándar IEEE 754
Representación de valores
(Gp:) Operación de multiplicación
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
Multiplicar los significands utilizando multiplicación entera Redondear el resultado Calcular el nuevo exponente
Multiplicación: Pasos
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
Operación: A x B Operandos: A y B (23 bits, 6 de exponente)
A = 8323071 B = 2007961
A = B = Multiplicación: Ejemplo
Página siguiente |