Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Funciones Numéricas
Funciones Numéricas
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)
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]
fl ( x ) M 2
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
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
1 2 p1
N
2 p1 1
x [ s, L] [ 2 , (1 2 ) 2
]
2
M min
Emin
Emax
Single
Double
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
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
fl ( x) 2
1
2
x fl ( x)
erel
M
fl ( x)
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
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
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
b b 2 4ac b b
r
2a
2a
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
n 1 n 1 n