Descargar

Operaciones de Punto Flotante

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    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

    edu.red

    ¿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?

    edu.red

    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

    edu.red

    – 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

    edu.red

    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

    edu.red

    – 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)

    edu.red

    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)

    edu.red

    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)

    edu.red

    Números desnormalizados (Denormals)

    edu.red

    Parámetros del estándar IEEE 754

    edu.red

    Representación de valores

    edu.red

    (Gp:) Operación de multiplicación

    edu.red

    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

    edu.red

    Multiplicar los significands utilizando multiplicación entera Redondear el resultado Calcular el nuevo exponente

    Multiplicación: Pasos

    edu.red

    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

    edu.red

    Operación: A x B Operandos: A y B (23 bits, 6 de exponente)

    A = 8323071 B = 2007961

    A = B = Multiplicación: Ejemplo

    Partes: 1, 2
    Página siguiente