Números en coma flotante
Representación de números en coma flotante

El problema central del Álgebra Lineal es la resolución de sistemas de ecuaciones lineales. En el nivel 1 de este mismo módulo aprendimos a resolver estos sistemas de ecuaciones lineales por el método de Gauss

 

Cuando usamos el ordenador, surge un nuevo problema, los errores de redondeo, derivados de la forma en que un computador almacena los números.
La representación de un número real, escrito en base B, en la notación de coma flotante es:

fl(x)= (-1) s d 1 . d 2 ... d t x B e , d 1 =0o1  

Número real  

Número en coma flotante (base 10)

295

-3.141516

0.0000132

0.295 x 103

-0.3141516 x 101

0.132 x 10-4

B es la base del sistema de numeración utilizado; se llama mantisa a d 1 . d 2 ... d t .

 

       El ordenador almacena los números en

       base 2, en la mayor parte de los casos

      según la norma:                                           

fl(x)=(-1) s .mantisa .2 e ,    { a) 0.1mantisa<1 b) 1mantisa<2  

http://standards.ieee.org.

Número en base dos 

Número en coma flotante (base 2)

 

10011.101001

 

 

0.10011101001 x 25

ó

1.0011101001 x 24

Los valores máximo y mínimo del exponente e dependen del computador utilizado. Cuando los cálculos producen un exponente demasiado grande (o pequeño) se dice que se ha producido un "overflow" (o un underflow).

En caso de "overflow", con ciertos programas se produce un error fatal y se detiene el proceso. Matlab los interpreta como inf  y se puede seguir operando en ciertas ocasiones.

Al producirse un "underflow" la máquina suele asignar el valor 0 y el cálculo continúa. Precisión en Matlab.

El número t, llamado precisión, es el número de cifras decimales que se pueden almacenar, dependen del ordenador y se dice entonces que el computador almacena t dígitos significativos.  Cuando hay más dígitos que los que el ordenador puede guardar, el número se "trunca" o bien se "aproxima" a n dígitos significativos.

Trabajando con 5 cifras significativas

Consideremos
Π = 3.14159265... = 0.314159265 x 101 

Truncamiento a 5 dígitos

Redondeo a 5 dígitos

0.31415 x 101 

0.31416 x 101 

Observar que:
  • En el truncamiento se eliminan los dígitos a partir del que ocupa el lugar t.
  • En el redondeo el dígito t-ésimo se incrementa en una unidad si el primero de los eliminados es mayor que 5. En caso de ser menor o igual que 5, no se altera su valor.

EJERCICIO DE COMPRENSIÓN: Escribe el valor almacenado para cada uno de los siguientes números por un ordenador que almacena 4 cifras significativas (ya sea por truncamiento o por redondeo):
                                        0.10245,  -4.565894,   0.095646,    0.095642,    38.1