41
Universidad Politécnica de Madrid Ingeniería de Minas
Programación y Métodos Numéricos
Errores de redondeo en la representación
de números reales:
EXPRESIÓN DE NÚMEROS EN BASE 2
Programación y Métodos Numéricos
Errores de redondeo en la representación
de números reales:
EXPRESIÓN DE NÚMEROS EN BASE 2
Arturo Hidalgo L
Arturo Hidalgo Lóópezpez Alfredo L
Alfredo Lóópez Benitopez Benito Carlos Conde L
42
Universidad Politécnica de Madrid Ingeniería de Minas
Entero en base 10: d0d1...dp-2dp-1dp = p p 1 2 1 0 0 10 1 10 ... p 2 10 p 1 10 p 1 d + d − + d − d − d 0 ≡ i i + i + i + i Ejemplo: 43210 = 4.104 + 3.103 + 2.102 + 1.101 + 0.100 Entero en base 2: b0b1...bp-2bp-1bp = p p 1 2 1 0 0 2 1 2 ... p 2 2 p 1 p b + b − + + b − + b − 2 + b 2 ≡ i i i i i Ejemplo: 11010 = 1.24 + 1.23 + 0.22 + 1.21 + 0.20 = (26)10
{
}
i 0,1, 2, 3, 4, 5, 6, d ∈ 7, 8, 9{ }
i b ∈ 0,1Expresión de números enteros en base 2
Expresión de números enteros en base 2
43
Universidad Politécnica de Madrid Ingeniería de Minas
10 p 1 p 2 2 1 p p 1 2 1 0 b b . z 2 c 2 c 2 ... ... c . 2 . b c b 2 b − − − |z10| = cp-1. 2 + bp .20 cp-1 = cp-2.21 + bp-1 .20 |z10| = cp-2.22 + b p-1 .21 + bp .20 c2 = c1.21 + b2 .20 |z10| = c2.2p-2 + b3 .2p-3 +...+ bp-1 .21 + bp .20 |z10| = c1.2p-1 + b 2 .2p-2 + ...+ bp-1 .21 + bp .20 c1 = b1.21 + b0 .20 |z10| = b0.2p-1+ b1.2p-1 + b2 .2p-2 + ...+ bp-1 .21 + bp .20
Expresión de números enteros en base 2
Expresión de números enteros en base 2
44
Universidad Politécnica de Madrid Ingeniería de Minas
153 2 1 76 2 0 38 2 0 19 2 9 1 2 1 4 2 0 2 2 0 1 1 0 0 1 1 0 0 1 ≡ (153)10
Ejemplo
Ejemplo
45
Universidad Politécnica de Madrid Ingeniería de Minas
NOTACIÓN:
z10 : Número en base 10; | z10| : Valor absoluto de z10 z2 = b0b1....bp-1bp : Expresión de z10 en base 2
x y: a “x” se le asigna el valor de “y”←
Determinar el mayor entero positivo, p, para el que:
1 p 0 2 ≤ z 10 y ← z ;
Para i = 0, hasta i = p-1, con paso 1, hacer:
x ←Parte entera de (y/2); bp-i← y – 2.x ; x y←
Fin bucle en i. Signo de z2 ← Signo de z10 D D D D 0 b ← 1
Expresión de números enteros en base 2
Expresión de números enteros en base 2
46
Universidad Politécnica de Madrid Ingeniería de Minas
Real positivo menor que 1 en base 10: 0.d1d2...ds-2ds-1ds... =
1 2 s 2 s 1 s
1 10 2 10 .. s 2 s 1 s
d − d − . d − 10− + d − 10− + d 10− ...
≡ i + i + + i + i + i +
Ejemplo: 0.02345.. = 0.10-1 + 2.10-2 + 3.10-3 + 4.10-4 + 5.10-5+ ...
Real positivo menor que 1 en base 2: 0.b1b2...bs-2bs-1bs... =
1 2 s 2 s 1 s 1 2 2 2 .. s 2 s 1 s b − + b − + +. b − 2− + + b − 2− + + b 2− + ... ≡ i i i i i Ejemplo: 0.11010 = 1.2-1 + 1.2-2 + 0.2-3 + 1.2-4 + 0.2-5 = (0.8125)10
{
}
i 0,1, 2, 3, 4, 5, 6, d ∈ 7, 8, 9{ }
i b ∈ 0,1Expresión en base 2 de números reales de
valor absoluto inferior a 1.
Expresión en base 2 de números reales de
valor absoluto inferior a 1.
47
Universidad Politécnica de Madrid Ingeniería de Minas
0.d1d2d3... 0. x 2 b1 .r1r2r3.... b1 .r1r2r3.... 0 x 2 b2 .t1t2t3.... b2 .t1t2t3.... 0 x 2 b3 .s1s2s3.... b3 .s1s2s3.... 0 x 2 b4. ... 0.d1d2d3... . 2 = b1+0.r1r2r3.... 0.d1d2d3... = b1 . 2-1 + (0.r 1r2r3....) . 2-1 0.r1r2r3... =b2 . 2-1 + (0.t 1t2t3...) .2-1 0.d1d2d3... = b1 . 2-1 + b 2 . 2-2 + (0.t1t2t3....) . 2-2 0.t1t2t3 .... = b3 .2-1 + (0.s 1s2s3....).2-1 0.d1d2d3... = b1 . 2-1 + b 2 . 2-2 + b3 . 2-3 + (0.s1s2s3....) . 2-3
...
Expresión en base 2 de números reales de
valor absoluto inferior a 1.
Expresión en base 2 de números reales de
valor absoluto inferior a 1.
48
Universidad Politécnica de Madrid Ingeniería de Minas
+0.3462 +0. x 2 0 .6924 0 0.6924 x 2 1 .3848 0.3848 x 2 0 .7696 0.7696 x 2 1 .5392 0.5392 x 2 1 .0748 1 0 1 1 ... ...
Expresión en base 2 de números reales de
valor absoluto inferior a 1.
Expresión en base 2 de números reales de
valor absoluto inferior a 1.
49
Universidad Politécnica de Madrid Ingeniería de Minas
Determinar el menor entero positivo, r, para el que: 10 r 2− ≤ z 1 r 0 y ← z • −2 1
Para i = 0, hasta i = s, con paso 1, hacer:
Fin bucle en i. D 0 b ← 1 ; D NOTACIÓN: z2 = (1.b1b2...bs).2-r =(1.2-r + b 1.2-r-1 + ....+ bs.2-r-s) D x ← 2 yi i Parte entera de ; b ← (x) i y ← −x b
Observación: Sólo se calculan (s+1) decimales significativos.
Expresión en base 2 de números reales de
valor absoluto inferior a 1.
Expresión en base 2 de números reales de
valor absoluto inferior a 1.
50
Universidad Politécnica de Madrid Ingeniería de Minas
z10 = 0.3462 2-1 = 0.5 > z 10 ; 2-2 = 0.25 < z10 r = 2 y Å 0.3462 . 22 – 1 = 0.3848 b0 Å 1 i = 1 = 0. 7696; b1Å0 ; 1. x Å 2.y 0 y Å x – b1 = 0.7696 1 i = 2 x Å 2.y = 1. 5392; b2 Å 1 ; y Å x – b2 = 0.5392 i = 3 x Å 2.y = 1. 0784; b3 Å 1 ; 1 y Å x – b3 = 0.0784 i = 4 x Å 2.y = 0 .1568; b4 Å 0 ; 0 y Å x – b4 = 0.1568
...
.... ( ).2-2 = (0.3462) 10Ejemplo
Ejemplo
51
Universidad Politécnica de Madrid Ingeniería de Minas
1º) Se asigna al número binario el mismo signo que tenga el número dado en base 10.
2º) Se determina la expresión binaria del número entero obtenido con la parte entera del valor absoluto del número real dado en base 10. (Codificación de un entero)
3º) Se determina la expresión binaria de la parte decimal del número real dado en base 10.
(Codificación de un real positivo menor que 1)
Expresión en base 2 de números reales
Expresión en base 2 de números reales
52
Universidad Politécnica de Madrid Ingeniería de Minas
Un número real positivo con un número finito de decimales en base 10 puede tener (y es lo más habitual) infinitos decimales al expresarlo en base 2.
Los números binarios con un número finito de decimales, tienen un número finito de decimales al expresarlos en base 10.
Al expresar en binario (con s decimales) números reales pueden aparecer errores de redondeo aunque sean exactos en base 10 .errores de redondeo
OBSERVACIONES
OBSERVACIONES
Expresión en base 2 de números reales
Expresión en base 2 de números reales
53
Universidad Politécnica de Madrid Ingeniería de Minas
0 . 2 0. x 2 0 . 4 0 . 4 0 x 2 0 . 8 0 . 8 x 2 1 . 6 0 1 . 6 x 2 1 . 2 0 1 . 2 0 x 2 0 . 4 . 4 x 2 0 . 8 0 . 8 x 2 1 . 6 0 . 6 x 2 1 . 2 0 0 0 1 1
. . . .
0 0 1 1. . . .
= (0.2) 10Ejemplo
Ejemplo
54
Universidad Politécnica de Madrid Ingeniería de Minas
Obtener la expresión binaria del número que en base 10 tiene la expresión: - 3756.493
Solución: z10 = -3756.493 Signo de z2 :
-Parte entera de | z10 |: 3756 (Ver siguiente)
Ejemplo
Ejemplo
55
Universidad Politécnica de Madrid Ingeniería de Minas
3756 2 0 1878 0 939 1 469 234 1 0 117 1 58 0 29 1 14 0 7 2 2 2 2 2 2 2 2 2 3 1 2 1 1 (3756)10 = 111010101100
Ejemplo (cont.)
Ejemplo (cont.)
56
Universidad Politécnica de Madrid Ingeniería de Minas
Obtener la expresión binaria del número que en base 10 tiene la expresión: - 3756.493
Solución: z10 = -3756.493 Signo de z2 :
-Parte entera de | z10 |: 3756 111010101100
Parte decimal de | z10 |: 0.493 (Ver siguiente)
Ejemplo (cont.)
Ejemplo (cont.)
57
Universidad Politécnica de Madrid Ingeniería de Minas
(0.493)10 = 0.01111110... 0 . 493 x 2 0 . 986 . 986 0 x 2 1 . 972 . 972 x 2 1 . 944 0 . 944 x 2 1 . 888 0 . 888 0 x 2 1 . 776 . 776 x 2 1 . 552 0 . 552 x 2 1 . 104 0 . 104 x 2 0 . 208 0
. . . .
Ejemplo (cont.)
Ejemplo (cont.)
58
Universidad Politécnica de Madrid Ingeniería de Minas
Obtener la expresión binaria del número que en base 10 tiene la expresión: - 3756.493 Solución: z10 = -3756.493 Signo de z2 : -Parte entera de | z10 |: 3756 111010101100 Parte decimal de | z10 |: 0.493 0.01111110... z2 = -111010101100.01111110...
Ejemplo (cont.)
Ejemplo (cont.)
59
Universidad Politécnica de Madrid Ingeniería de Minas
Consiste en expresar los números no nulos en la forma:
1 2 s d d .. 1. ..d .... ± • e 2 mantisa exponente con: di ∈
{ }
0,1 y e∈El número 0 se expresa con todos los dígitos de la mantisa nulos y con cualquier valor del exponente
(expresado también en base 2)
Notación científica en base 2
Notación científica en base 2
60
Universidad Politécnica de Madrid Ingeniería de Minas
(-13457.258)10 = -11010010010001.01000... 13 101001001000101000... 1. 2 ≡ − i Mantisa: - 1.101001001000101000... Exponente: +1101 (0.002379)10 = 0.000000001001101111101... 9 001101111101... 1. 2− ≡ + i Mantisa: + 1.001101111101... Exponente: -1001
Notación científica en base 2: Ejemplos
Notación científica en base 2: Ejemplos
61
Universidad Politécnica de Madrid Ingeniería de Minas
10 2 3 − ⎛ ⎞ ≡ ⎜ ⎟ ⎝ ⎠ 1 0101010101010... 1. 2− ≡ − i Mantisa: - 1.0101010101010.... Exponente: -1 10 ( )π ≡ 1 100100100001111110.. 1. .. 2 ≡ + i Mantisa: + 1.100100100001111110... Exponente: 1 -0.1010101010101010101... 11.00100100001111110...
Notación científica en base 2: Ejemplos
Notación científica en base 2: Ejemplos
62