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 |