• No se han encontrado resultados

Programación y Métodos Numéricos Errores de de redondeo en en la la representación de de números reales: EXPRESIÓN DE NÚMEROS EN BASE 2

N/A
N/A
Protected

Academic year: 2021

Share "Programación y Métodos Numéricos Errores de de redondeo en en la la representación de de números reales: EXPRESIÓN DE NÚMEROS EN BASE 2"

Copied!
22
0
0

Texto completo

(1)

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

(2)

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 0i 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 2i 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, d7, 8, 9

{ }

i b0,1

Expresión de números enteros en base 2

Expresión de números enteros en base 2

(3)

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

(4)

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

(5)

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 2z 10 yz ;

Para i = 0, hasta i = p-1, con paso 1, hacer:

x Parte entera de (y/2); bp-iy – 2.x ; x y

Fin bucle en i. Signo de z2Signo de z10 D D D D 0 b1

Expresión de números enteros en base 2

Expresión de números enteros en base 2

(6)

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

dd. 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, d7, 8, 9

{ }

i b0,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.

(7)

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.

(8)

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.

(9)

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 yz • −2 1

Para i = 0, hasta i = s, con paso 1, hacer:

Fin bucle en i. D 0 b1 ; D NOTACIÓN: z2 = (1.b1b2...bs).2-r =(1.2-r + b 1.2-r-1 + ....+ bs.2-r-s) D x2 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.

(10)

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) 10

Ejemplo

Ejemplo

(11)

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

(12)

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

(13)

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) 10

Ejemplo

Ejemplo

(14)

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

(15)

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.)

(16)

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.)

(17)

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.)

(18)

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.)

(19)

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

(20)

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

(21)

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

(22)

62

Referencias

Documento similar