next up previous
Next: 3.5 Condicionamiento y estabilidad Up: 3. Aritmética de computadores Previous: 3.3.2 Las operaciones básicas

  
3.4 Desbordamiento por exceso y desbordamiento por defecto

En la discusión anterior, hemos ignorado la posibilidad de que el resultado de una operación del punto flotante pueda no ser representable mediante el esquema fijo (l-bits) empleado por el ordenador. La magnitud más grande que puede representarse mediante la fórmula general (18) es:

 \begin{displaymath}
M \times 2^{F}
\end{displaymath} (27)

en donde F es el mayor exponente positivo representable (generalmente 27 - 1) y M es la mantisa que tiene todos sus bits puestos a 1 ( M = 1 - 224). Un desbordamiento por exceso de punto flotante (overflow en inglés) se origina cuando el resultado de una operación de punto flotante tiene una magnitud mayor que la representada por la ecuación (27).

Ejemplo: Con q = 8 (y por tanto F = 27 - 1 = 127), las siguientes operaciones aritméticas dan lugar a desbordamiento por exceso:

\begin{displaymath}\begin{array}{ll}
(\frac{1}{2} \times 2^{70}) \times (\frac{...
...{2} \times 2^{127}) - (-\frac{1}{2} \times 2^{127})
\end{array}\end{displaymath}

El desbordamiento por defecto (underflow en inglés) se produce cuando el resultado de una operación en punto flotante es demasiado pequeño, aunque no nulo, como para que se pueda expresar en la forma dada por la ecuación (18). El número más pequeño representable suponiendo que siempre trabajamos con mantisas normalizadas es $\frac{1}{2} \times 2^{-F}$, en donde -F es el exponente negativo más grande permitido (generalmente -2-q-1). Por ejemplo, con q=8 resulta -F = -128.

Ejemplo: Con q = 8 (y por tanto -F = -128), la siguiente operación aritmética da lugar a desbordamiento por defecto:

\begin{displaymath}\frac{\frac{1}{2} \times 2^{-80}}{\frac{1}{2} \times 2^{50}};
\end{displaymath}

El desbordamiento por exceso es casi siempre resultado de un error en el cálculo. Sin embargo, en el caso del desobordamiento por defecto, en muchas ocasiones es posible continuar el cálculo reemplazando el resultado por cero.


next up previous
Next: 3.5 Condicionamiento y estabilidad Up: 3. Aritmética de computadores Previous: 3.3.2 Las operaciones básicas
Wladimiro Diaz Villanueva
1998-05-11