Está en la página 1de 15

FUNCIONES NUMRICAS

DE PUNTO FLOTANTE
Csar Guerra
PUCP

Representacin de un Nmero
Matemticas

112

1/ 2

0.12

3.4

11.01100110...

1.011010100...

Computadoras
Bits: {0,1}, bytes(8 bits), palabras (2 bytes)
Nmeros de mquina
Nmeros de punto fijo (16-32 bits)

enteros
Nmeros de punto flotante (32-64 bits)

Representacin de Punto Fijo


s 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1

20

2N 2

s 0 n 1 20 1 21 L 1 230 1097871067
s 1 n 1 20 1 21 L 1 230 1097871067
- Problema: 2 posibilidades para representar el cero.
- Posibles valores que se pueden almacenar:

n [(2

n 1

1), 2

n 1

1]

Representacin de Punto Flotante


Todo nmero decimal x tiene representacin de punto flotante:

fl ( x ) M 2

M: mantisa normalizada < M < 1


E: Entero. Caracterstica de x
Y se puede almacenar usando N+p+1 bits

ai
E e (bp 1 L b1b0 ) 2

ai , bi , ci {0,1}

M (0.c1c2 L cN ) 2
N, p y e son fijos para una computadora dada.

c1 1

e tiene un valor de manera que E+e sea positivo.

0 E e 2 p 1
En particular si

e 2 p 1 2 p 1 E 2 p 1 1
Para cada E tenemos

2 N 1 mantisas 2 E 1 , 2 E

M max

Los nmeros de mquina resultan

1 2 p1
N
2 p1 1
x [ s, L] [ 2 , (1 2 ) 2
]
2
M min

Emin

Emax

Parmetros de un punto flotante


Parameter

Single

Double

Sign width in bits


N
Exponent width in bits
Format width in bits
Emax
Emin
Exponent bias

1
23
8
32
+127
128
+128

1
52
11
64
+1023
1024
+1024

Ejemplos

Extended double
1
64
15
80
+16383
16384
+16384

1
1
1
( ) 20 ( M , E 0)
2
2
2
3
3
3 ( ) 22 ( M , E 2)
4
4
65536
65536
107 (
) 2 23 ( M
, E 23)
78125
78125

Errores Intrnsecos a la
Computadora
1. Representacin fuera del rango permitido
Underflow
Overflow

0 x s
x L

2. Error Inherente por Truncacin y Redondeo


Truncacin

einh x fl ( x) 2 N 2 E

Redondeo

einh x fl ( x) 12 2 N 2 E

Ejemplos

1
1 6666
1
1
1) einh _ tr (1/ 3) 0.6666 2

3
3 20000 30000
1
1 6667
1
1
2) einh _ re (1/ 3) 0.6667 2

3
3 20000
60000
3. Precisin de mquina Nmero ms pequeo tal que sumado a la
unidad no sea almacenado como uno.
Truncacin

N
2

Redondeo

21 N

La precisin de maquina es una cota para el error relativo

fl ( x) 2
1
2

x fl ( x)
erel
M
fl ( x)

Si la precisin de maquina satisface

10 ( k 1) M 10 k
En el peor de los casos se logra almacenar a x con k dgitos significativos.

N
[[ log 10 ]]

2
k
[[ N 1 ]]
log 2 10

Truncacin

Redondeo

4. Propagacin de Errores en Operaciones Aritmticas


Adicin Insignificante: Adicin de dos nmeros cuyas magnitudes
son tan diferentes que la suma se redondea al nmero mayor. (click)

3. 10 3.
Amplificacin del error: La multiplicacin de un nmero de poca
precisin por un nmero grande o su divisin por un nmero cercano
a cero. Por ejemplo, almacenando a 4 dgitos:

u 124.1498

8211.92813
v 0.014973
fl (u )
124.1

8216.
fl (v) 0.01497

Cancelacin Sustractiva: La resta de dos nmeros aproximadamente


iguales.

x 2 1000.001x 1 0
Races FORTRAN: real(4)

r 0.999451E 02

r 1000.00

Races correctas

r 0.001

r 1000.0

Un anlisis cuidadoso revela:

b b 2 4ac b b
r

2a
2a

Estrategias para minimizar el error


Mantisa Completa: Introduzca los valores de entrada con
tantos dgitos significativos como puedan almacenarse.
EJM: No usar 2.178**x sino Exp(x)

Dgito de Seguridad: No redondee valores intermedios. Si


es necesario anotarlos e reintroducirlos, hgalo con unos
cuantos dgitos ms que la exactitud deseada.

Operaciones Mnimas: Evale las expresiones matemticas


de manera que requieran el menor nmero de operaciones
aritmticas, y no permita la cancelacin sustractiva.

Respuesta Final: Redondee la respuesta final a una precisin


conocida. La respuesta final no puede tener ms precisin que
los datos de entrada.

Inestabilidad de un Algoritmo
Un algoritmo es inestable cuando es muy sensible a errores en los datos
iniciales, de manera que estos errores crecen rpidamente y dominan la
respuesta.
Para el nmero de oro:

5 1
2

El siguiente algoritmo para calcular sus potencias es inestable:

n 1 n 1 n

También podría gustarte