0% encontró este documento útil (0 votos)
272 vistas16 páginas

Aritmética de Punto Flotante

El documento describe la aritmética de punto flotante con k dígitos. Explica que los números decimales de punto flotante están en la forma ±0.d1d2...dk × 10n y que al redondear o truncar la mantisa se comete un error relativo máximo de 10-k. También analiza cómo operaciones como la sustracción de números cercanos o la división por pequeños números pueden producir pérdida de cifras significativas.

Cargado por

Santyago Herrera
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
272 vistas16 páginas

Aritmética de Punto Flotante

El documento describe la aritmética de punto flotante con k dígitos. Explica que los números decimales de punto flotante están en la forma ±0.d1d2...dk × 10n y que al redondear o truncar la mantisa se comete un error relativo máximo de 10-k. También analiza cómo operaciones como la sustracción de números cercanos o la división por pequeños números pueden producir pérdida de cifras significativas.

Cargado por

Santyago Herrera
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Aritmética de punto flotante

Humberto Pérez González

December 3, 2020

Humberto Pérez González Aritmética de punto flotante


Aritmética con k-dı́gitos

Se asume que un número decimal de punto flotante está


normalizado si está en la forma

±0.d1 d2 d3 · · · dk × 10n , 1 ≤ d1 ≤ 9, y 0 ≤ di ≤ 9,

i = 2, ..., k.
Se llaman números de máquinas decimales de k-dı́gitos.
Todo número real representable puede escribirse en la
forma
y = 0.d1 d2 · · · dk dk+1 dk+2 · · · × 10n .
La forma de punto flotante de y , notada, fl(y ), se obtiene
terminando la mantisa y en el k-ésimo dı́gito decimal.

Humberto Pérez González Aritmética de punto flotante


Redondeo, manera de terminar la mantisa
Existen varias formas de terminar la mantisa
Truncamiento, consiste en desechar los dı́gitos
dk+1 dk+2 · · · , en este caso
fl(y ) = 0.d1 d2 · · · dk × 10n .
Redondeo, consiste en agregar 5 × 10n−(k+1) a y y luego
truncar el resultado

y + 5 × 10n−(k+1) =
0.d1 d2 · · · dk dk+1 dk+2 · · · × 10n + 5 × 10n · 10−(k+1) (1)

y + 5 × 10n−(k+1) =
(0.d1 d2 · · · dk dk+1 dk+2 · · · + 10−(k+1) ) × 10n (2)
lo cual equivale a sumar 5 al (k + 1)-ésimo dı́gito
Humberto Pérez González Aritmética de punto flotante
Redondeo, manera de terminar la mantisa

Si
fl(y ) = 0.δ1 δ2 · · · δk × 10n ,
entonces cuando
dk+1 < 5 solamente se hace el truncamiento y δi = di , o
redondeo por defecto
dk+1 ≥ 5 esto equivale a sumar 1 a dk para obtener fl(y ),
redondeo por exceso. Los dı́gitos, incluso el exponente,
pueden cambiar.

Humberto Pérez González Aritmética de punto flotante


Ejemplos

Halle la forma de 5 dı́gitos para y = 0.999999999999 × 104


(a) por truncamiento, por redondeo por exceso y redondeo por
defecto.
Solución. Por truncamiento fl(y ) = 0.99999 × 104 . Por
redondeo

y + 5 × 104−(5+1) = (0.999999999999 + 0.000005) × 104


= 1.000004999999 × 104
= 0.1000004999999 × 105
fl(y ) = 0.100000 × 105

Humberto Pérez González Aritmética de punto flotante


Recordar. Medición de aproximación de errores

Errores absolutos y relativos


Suponga que p ∗ es una aproximación de p. El valor absoluto
|p − p ∗ |
es |p − p ∗ |, y el valor relativo es , dado que p 6= 0.
|p|

Dı́gitos significativos
El número p ∗ aproxima a p con t dı́gitos significativos si t es
el entero no negativo más grande para el cual

|p − p ∗ |
≤ 5 × 10−t , p 6= 0.
|p|

Humberto Pérez González Aritmética de punto flotante


Implicaciones del error relativo I

Observe que si p ∗ aproxima a p con t dı́gitos significativos y


s > t entonces 10s > 10t y 10−s < 10−t . Ası́ s no podrı́a ser
el número de dı́gitos significativos, es decir, no puede ser

|p − p ∗ |
≤ 5 × 10−s
|p|

por lo que

|p − p ∗ |
5 × 10−s < ≤ 5 × 10−t , p 6= 0.
|p|

además
|p − p ∗ | ≤ 5|p| × 10−t , p 6= 0.

Humberto Pérez González Aritmética de punto flotante


Implicaciones del error relativo II
Por ejemplo si p ∗ aproxima a p = 0.1 con 4 cifras significativas
entonces

|0.1 − p ∗ | ≤ 5(0.1) × 10−4 = 0.5 × 10−4 = 5 × 10−5

Es decir, el mayor error absoluto que se puede cometer es


5 × 10−5 y por tanto el valor de p ∗ podrı́a estar entre 0.09995
y 0.10005.
La tabla ilustra la naturaleza continua de los dı́gitos
significativos al listar, para los diversos valores de p, el lı́mite
superior mı́nimo de |p − p ∗ |, denotado max |p − p ∗ |, cuando
p ∗ concuerda con p en cuatro dı́gitos significativos.
p 0.1 0.5 100 1000 5000 9990 10000
max |p − p ∗ | 0.00005 0.00025 0.05 0.5 2.5 4.995 5

Humberto Pérez González Aritmética de punto flotante


Error relativo en la representación de punto
flotante
Considere número real en la forma normalizada
y = 0.d1 d2 · · · dk dk+1 · · · × 10n . Al aproximarlo por su forma
de punto flotante fl(y ) se comete el error relativo

|y − fl(y )|
.
|y |

Si se usa truncamiento para de k dı́gitos para fl(y ),

y ≈ fl(y ) = 0.d1 · · · dk × 10n ,

|y − fl(y )| 0.d1 d2 · · · dk dk+1 · · · × 10n − 0.d1 · · · dk × 10n



=
|y | 0.d1 d2 · · · dk dk+1 · · · × 10n

Humberto Pérez González Aritmética de punto flotante


|y − fl(y )| 0.d1 d2 · · · dk dk+1 · · · × 10n − 0.d1 · · · dk × 10n

=
|y | 0.d1 d2 · · · dk dk+1 · · · × 10n
0.dk+1 dk+2 · · · × 10n−k

=
0.d1 d2 · · · dk dk+1 · · · × 10n
0.dk+1 dk+2 · · · × 10n 10−k

=
0.d1 d2 · · · dk dk+1 · · · × 10n

0.dk+1 dk+2 −k
0.dk+1 dk+2
= × 10 ≤ × 10−k
0.d1 d2 · · · 0.1

1
≤ × 10−k = 10 × 10−k = 101−k
0.1

Cota superior para el error relativo usando truncamiento


1 × 101−k
Tarea hallar la cota superior del error relativo cuando se usa
redondeo (ver ejercicio 24)
Humberto Pérez González Aritmética de punto flotante
Aritmética de punto flotante

x ⊕ y = fl(fl(x) + fl(y )), x ⊗ y = fl(fl(x)fl(y ))


x y = fl(fl(x) − fl(y )), x y = fl(fl(x) ÷ fl(y ))

Ejemplo. Use truncamiento de 5 cifras para hallar x ⊕ y ,


x y , x ⊗ y y x y con x = 5/7 y y = 1/3
Solución.

x = 5/7 = 0.714285714285714, fl(x) = 0.71428 × 100

y = 1/3 = 0.333333333, fl(y ) = 0.33333 × 100


fl(x) + fl(y ) = 0.71428 × 100 + 0.33333 × 100 = 1.04761 × 100
x ⊕ y = fl(fl(x) + fl(y )) = fl(1.04761 × 100 ) = 0.10476 × 101 .
Humberto Pérez González Aritmética de punto flotante
Resumen de operaciones,ejemplo

Operación Resultado Valor real Error absoluto Error relativo


x ⊕y 0.10476 × 101 22/21 0.190 × 10−4 0.182 × 10−4
x y 0.38095 × 100 8/21 0.238 × 10−5 0.625 × 10−5
x ⊗y 0.23809 × 100 5/21 0.524 × 10−5 0.220 × 10−4
x y 0.21428 × 101 15/7 0.571 × 10−4 0.267 × 10−4

Como la suma tiene un error relativo de


0.182 × 10−4 = 1.82 × 10−5 que es menor que 5 × 10−5
entonces la suma tiene 5 cifras significativas.
Como la diferencia tiene un error relativo de
0.625 × 10−5 = 6.25 × 10−6 que es menor que 5 × 10−5
entonces el producto tiene 5 cifras significativas.
Como el producto tiene un error relativo de
0.220 × 10−4 = 2.2 × 10−5 < 5 × 10−5 entonces entonces el
producto tiene 5 cifras significativas.
Humberto Pérez González Aritmética de punto flotante
Cálculos que producen error

Sustracción de números casi iguales que involucran la


cancelación de dı́gitos significativos
División por números de magnitud pequeña o
equivalentemente, multiplicación por números de
magnitud grande

Humberto Pérez González Aritmética de punto flotante


Sustracción de números casi iguales I
Suponga que dos números casi iguales, x, y , x > y y que
tienen representaciones de k-dı́gitos

fl(x) = 0.d1 d2 ...dp αp+1 αp+2 ...αk × 10n ,

fl(y ) = 0.d1 d2 ...dp βp+1 βp+2 ...βk × 10n


la forma de punto flotante de x − y es

fl(fl(x) − fl(y )) = 0.σp+1 σp+2 ...σk × 10n−p ,

donde
0.αp+1 αp+2 ...αk = 0.βp+1 βp+2 ...βk .
La forma de punto flotante de x − y tiene a lo sumo k − p
dı́gitos significativos. Sin embargo, en la mayorı́a de los casos

Humberto Pérez González Aritmética de punto flotante


Sustracción de números casi iguales II

se le asignarán k dı́gitos, siendo los p últimos cero o asignados


aleatoriamente.
Cada cálculo subsiguiente tendrá sólo k − p dı́gitos
significativos

Humberto Pérez González Aritmética de punto flotante


Expansión por productos o cocientes I

Sea z el valor exacto y z + δ la representación en aritmética


finita, es decir fl(z) = z + δ, donde δ es es el error cometido
en la aproximación(positivo o negativo) .
Tome n > 0 y divida por  = 10−n , entonces

z fl(z) z +δ
≈ = −n = (z + δ) × 10n = z × 10n + δ × 10n
 fl() 10

El valor absoluto del error cometido es |δ| × 10n .


Si se aproxima 1 con 1.001 se tiene que δ = 1.001 − 1 = 0.001
y se hace la división 1.001/10−6 entonces el error cometido es
δ × 106 = 1000. Es decir, se comete un error de 1000 en un
millón que es el resultado exacto.

Humberto Pérez González Aritmética de punto flotante

También podría gustarte