Sunteți pe pagina 1din 12

Representación de números Errores

Representación de números y errores

Métodos Numéricos

Prof. Erwin Henríquez, Eduardo Uribe, Leonardo Villegas

Conferencia 2

1 / 12
Representación de números Errores

Conferencia 2

1 Representación de números

2 Errores

2 / 12
Representación de números Errores

Representación de números enteros


Números enteros positivos
Base decimal:

72662 = 7 · 104 + 2 · 103 + 6 · 102 + 6 · 101 + 2 · 100

Base binaria:

10110 = 1 · 24 + 1 · 22 + 1 · 21 = 16 + 4 + 2 = 22
Ejemplo
¿Qué rango de enteros pueden representarse con 8 dígitos en
base 2?
Se guarda un dígito para el signo. El mayor valor es:

26 + 25 + 24 + 23 + 22 + 21 + 20 = 27 − 1 = 127

Utilizando el −0 tenemos un rango de: [−128, 127].


3 / 12
Representación de números Errores

Representación de punto flotante

Decimales positivos
Base decimal:

7.2662 = 7 · 100 + 2 · 10−1 + 6 · 10−2 + 6 · 10−3 + 2 · 10−4

Base binaria:
1 1
10.110 = 1 · 21 + 1 · 2−1 + 1 · 2−2 = 2 + + = 2.75
2 4
Punto flotante (normalizado)
m · be donde: m: Mantisa, b: base, e: exponente.
Normalizado: b−1 ≤ m ≤ 1.
1
= 0.0263 = 0.00263 · 101 = 2.63 · 10−2 = 0.263 · 10−1
38
4 / 12
Representación de números Errores

Ejemplo

Fijando base b = 2.
Cuáles son los números extremos positivos que pueden repre-
sentarse como punto flotante normalizado usando 7 dígitos:
Dígitos: 1 signo, 3 exponente (con signo) y 3 mantisa.

Mayor positivo (overflow):


1 +20
0011111 = 0_0_11_111 = (2−1 + 2−2 + 2−3 ) · (22 )=7

Menor positivo (underflow):

1 +20 ) 1
0111100 = 0_1_11_100 = (2−1 ) · (2−(2 ) = 2−4 =
16

5 / 12
Representación de números Errores

Aproximando hacia puntos flotante

Número arbitrario en base decimal

x = ±0.d1 d2 . . . dk dk +1 dk +2 . . . × 10n , 1 ≤ d1 ≤ 9, 0 ≤ dk ≤ 9

Cómo aproximarlo por un punto flotante tomando una mantisa


de k dígitos?
Cortando
fl(x) = ±0.d1 d2 . . . dk × 10n
Ejemplo: k = 5

fl(π) = fl(0.314159265 . . . × 101 ) = 0.31415 × 101

6 / 12
Representación de números Errores

Aproximando hacia puntos flotantes

Número arbitrario en base decimal

x = ±0.d1 d2 . . . dk dk +1 dk +2 . . . × 10n , 1 ≤ d1 ≤ 9, 0 ≤ dk ≤ 9

Cómo aproximarlo por un punto flotante tomando una mantisa


de tamaño k ?
Redondeando
Antes de cortar, sumar 5 × 10n−(k +1) a la mantisa.
Ejemplo: k = 5

fl(π) = fl(0.314159265 . . . × 101 )


= fl((0.314159265 . . . + 0.000005) × 101 )
= 0.31416 × 101

7 / 12
Representación de números Errores

Aproximando hacia puntos flotantes

Ejemplos (Redondeo)
Supongamos que:
La base b = 10.
La mantisa tiene 4 dígitos.
El exponente tiene tres dígitos (sin contar el signo)

fl(0.31794 × 10110 ) = 0.3179 × 10110


fl(0.99997 × 1099 ) = 0.1000 × 10100
fl(0.012345 × 10−99 ) = 0.1235 × 10−100
fl(0.54321 × 10−110 ) = 0.5432 × 10−110

8 / 12
Representación de números Errores

Definición
Si p∗ es una aproximación de p, el error absoluto es

Ea (p∗ ) = |p − p∗ |,

y el error relativo (cuando p 6= 0) es

|p − p∗ |
Er (p∗ ) =
|p|
Observación
El error relativo tiene en cuenta la magnitud de la cantidad a
aproximar.

9 / 12
Representación de números Errores

Ejemplos
Si p = 0.3 × 101 y p∗ = 0.31 × 101 , entonces:
Ea (p∗ ) = |(0.3 − 0.31) × 101 | = 0.1
0.1
Er (p∗ ) = = 0.3̄ × 10−1
0.3 × 101
Si p = 0.3 × 10−3 y p∗ = 0.31 × 10−3 , entonces:
Ea (p∗ ) = |(0.3 − 0.31) × 10−3 | = 0.1 × 10−4
0.1 × 10−4
Er (p∗ ) = = 0.3̄ × 10−1
0.3 × 10−3
Si p = 0.3 × 104 y p∗ = 0.31 × 104 , entonces:
Ea (p∗ ) = |(0.3 − 0.31) × 104 | = 0.1 × 103
0.1 × 103
Er (p∗ ) = = 0.3̄ × 10−1
0.3 × 104

10 / 12
Representación de números Errores

Error del punto flotante

Error relativo de fl(x)


Si fl(x) se calcula para una mantisa de k dígitos:
Para errores con corte:
|x − fl(x)|
Er (fl(x)) = ≤ 10−k +1
|x|

Para errores con redondeo:


|x − fl(x)|
Er (fl(x)) = ≤ 0.5 × 10−k +1
|x|

En base binaria (redondeo):

|x − fl(x)|
Er (fl(x)) = ≤ 2−k
|x|

11 / 12
Representación de números Errores

Cifras significativas

Definición
Se dice que x ∗ aproxima a x hasta t cifras significativas, si t es
el mayor número entero no negativo que satisface

|x − x ∗ |
Er (x ∗ ) = ≤ 5 × 10−t
|x|
Ejemplo
Cotas para cuatro cifras significativas.

x 0.1 1000 10000



max |x − x | 0.00005 0.5 5

12 / 12

S-ar putea să vă placă și