Você está na página 1de 38

Clculo Numrico / Mtodos Numricos

Representao de nmeros em computadores Mudana de base

14:05

09:59

Computadores so "binrios"
Por que 0 ou 1 ? 0 ou 1 - "fcil" de obter um sistema fsico
Transistores tem duas posies estveis: ligado ou desligado

Expanso binria de um nmero

Representao binria: (an, an-1, ..., a1, a0)

09:59

Converses entre base 10 e base 2


Da base 2 para a base 10
(100011) = 125 + 024 + 023 + 022 + 121 + 120 = 35

Da base 10 para a base 2


35 1 2 17 1 2 8 0 2 4 2 2 0 0 1 100011 2

09:59

Representao de nmeros reais


Representao de ponto fixo

23231.333448 6732.222232 0.000023

09:59

Representao de nmeros reais


Representao de ponto fixo

k e n so inteiros satisfazendo k < n e usualmente k xi so inteiros satisfazendo 0 xi <

0 e n>0

Exemplo:

09:59

Representao de nmeros reais


Representao de ponto fixo

- Representao qual estamos mais habituados. - A diferena entre dois nmeros representveis fixa.

09:59

Representao de nmeros reais


Representao de ponto flutuante .24234235 104 .52423423 10-3 .73836224 100

09:59

Representao de nmeros reais


Representao de ponto flutuante

a base do sistema de numerao e o expoente d a mantissa. d um nmero em ponto fixo:

frequentemente:

k=1 0 di < -1 d < 1 -m e M

i=1,...,t (nmero de dig. sign.)

09:59

Representao de nmeros reais


d1 0 representa o sistema de nmeros em ponto flutuante normalizado. Como representar o zero ?
mantissa = 0 e = -m

09:59

Exemplos
0.35 =
mantissa: (3 10-1 + 5 10-2) e=0 = 0.35 100

-5.127 =
mantissa: -(5 10-1 + 1 10-2 + 2 10-3 + 7 10-4) e=1 = -0.5127 101

0.0003 =
mantissa: (3 10-1) e = -3 0.3 10-3

09:59

Notao
Representao de um sistema de notao com base , nmero de dgitos significativos t e expoentes mnimo e mximo m e M:
F(, t, m, M) 0.d1d2d3...dt e d1 0; m e

09:59

Exemplos
Represente os nmeros 0.35, 5391 e 0.0003 no sistema F(10,3,-2,2)
O.35: (310-1 + 510-2 + 010-3) 100 0.350 100 5391 overflow -1 -2 -3 4 (510 + 310 + 910 ) 10 0.0003 -1 -2 -3 -3 underflow (310 + 010 + 010 ) 10

09:59

Exemplo (Clculo Numrico. Sperandio, Mendes e Silva)


Tome o sistema de representao dado por F(2,10,-15,15) a) Represente de alguma maneira como esse sistema pode ser armazenado em um computador binrio.

valor da mantissa

valor do expoente Sinal do expoente

Sinal da mantissa

09:59

Exemplo (Clculo Numrico. Sperandio, Mendes e Silva)


Tome o sistema de representao dado por F(2,10,-15,15) 23 a) Represente o nmero (23)10.
1 2 11 1 2 5 1 1 0 1 1 1 0 0 0 0 0 valor da mantissa valor do expoente Sinal do expoente Sinal da mantissa 2 2 2 1 0

09:59

Exemplo (Clculo Numrico. Sperandio, Mendes e Silva)


Tome o sistema de representao dado por F(2,10,-15,15)

1x2-1 + 0 x 2-2 + 1 x 2-3 + 1 x 2 -4 + 1 x 2-5 23 = 1x24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20 5 1 0 1 0 1 1 1 0 0 0 0 0 valor da mantissa 0 0 1 0 1 valor do expoente Sinal do expoente Sinal da mantissa

x 25

2 2 0 2 1

09:59

Exemplo
Por que no caso da mantissa, completamos com zeros ao final do espao reservado e no caso do expoente, ao incio ?

0 1 0 1 1 1 0 0 0 0 0 valor da mantissa

0 0 1 0 1 valor do expoente Sinal do expoente

Sinal da mantissa

09:59

Diferenas: ponto fixo flutuante


Suponha que temos 10 dgitos disponveis: inteiro Ponto fixo: fracionrio b Ex.: este dgito vale sempre b -2 ponto decimal "fixo" mantissa Ponto flutuante: b Ex.: o valor deste nmero depende o expoente: b -expoente (em outras palavras: o ponto flutuante) expoente

09:59

Exemplo: ponto fixo flutuante


Base 10. ponto fixo 2343.12 0 2 3 4 3 1 2 ponto flutuante + 2 3 4 3 1 2 + 0 4

0.0012234

0 0 0 0 0 0 0 1 2 2 3

+ 1 2 3 3 4

- 0 2

123456789

+ 1 2 3 4 5 6 8 + 0 7

(Questo em aberto: arredondamento!)

09:59

Espaamento entre dois nmeros representveis


ponto fixo ponto flutuante

Sempre igual ao valor unitrio desta casa. No caso: 10-6

Depende do intervalo considerado: No caso: 10 7 10expoente

ponto fixo: ponto flutuante

x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

x x x

nmeros pequenos

nmeros grandes

09:59

Curiosidade: IEEE 754

mais informao: http://grouper.ieee.org/groups/754/ http://en.wikipedia.org/wiki/IEEE_floating-point_standard

09:59

Mudana de base

09:59

Mudana de base
Da base 2 para a base 10
N2 = 1010.1110 N10 = 1 23 + 0 22 + 1 21 + 0 20 + 1 2-1 + 1 2-2 + 1 2-3 + 0 2-4 = 10.875

09:59

Mudana de base
Da base 10 para a base 2
N10 = 13.75
13 1 2 6 0 2 3 1 1101 2 1 (13.75)10 = (1101.110)2 0.75 0.75 2 = 1.50 0.50 2 = 1.00 0.00 2 = 0.00

09:59

E para outras bases ?


12.20 da base 4 para a base 3
(12.20)4 = (1 41 + 2 40 + 2 4-1 + 0 4-2)10 = (6.5)10

6 0

3 2

0.50 0.50 3 = 1.50 0.50 3 = 1.50 0.50 3 = 1.50 ...

20

(12.20)4 = (6.5)10 = (20.111...)3

09:59

Arredondamento

09:59

Arredondamento
F(,t,m,M)

base 10: t=1: t=2: t=3: ... 0.05 0.005 0.0005

09:59

Exemplo:
F(10,5,-4,4) 10.232242 = 0.10232242 102
mantissa + 0.5 10-5 = 0.10232742

Se for em outra base, 0.5 tem que estar expresso na base considerada.

Clculo Numrico / Mtodos Numricos

Operaes numricas em ponto flutuante Instabilidade numrica Mal condicionamento

15:04

15:38

Arredondamento
F(,t,m,M)

base 10: t=1: t=2: t=3: ... 0.05 0.005 0.0005

Ateno: somar mantissa (e no ao nmero em si)

15:38

Arredondamento (exemplo)
Represente o nmero 1234.56 no sistema F(10,3,5,5), com arredondamento: 0.123456 104 mantissa: 0.123456 + 0.5 10-3 0.123456 + 0.0005 = 0.123956 Resposta: 0.123 104

15:38

Arredondamento (exemplo 2)
Represente o nmero (1001.1)2 no sistema F(2,3,5,5), com arredondamento: 0.10011 24 mantissa: 0.10011 + 0.10011 + 0.10011 + 0.10101 (0.5 2-3)10 (0.1)2 2-3 (0.0001)

Resposta: 0.101 24

15:38

Efeito do arredondamento
Aps cada operao, perdemos informao.
Exemplo (t = 3): (3.18/5.05) 11.4 = 0.630 11.4 = 7.182 7.18 (3.18 11.4) /5.05 = 36.3/5.05 = 7.188 7.19

15:38

Efeitos numricos
Cancelamento
efeito numrico que causa perda de dgitos significativos quando subtramos dois nmeros muito prximos. Ex.:

= 0.9937806599 102 - 0.9937303457 102 = 0.0000503142 102 = 0.5031420000 10-2

15:38

Efeitos numricos
Propagao do erro
efeito numrico que causa perda de dgitos significativos quando na soma de vrios nmeros, uma soma intermediria muito maior que a soma final. Ex.: F(10,3,5,5)

100 + 0.000100 - 100 = 0.100 103 + 0.100 10-3 - 0.100 103 = =0 0.100 103 - 0.100 103

15:38

Instabilidade numrica
Os erros podem ir se acumulando durante o processo Erros intermedirios podem anular-se
Estabilidade

Instabilidade: os erros intermedirios tm uma influncia muito grande no resultado final.

15:38

Instabilidade numrica (exemplo)

Podemos provar que xn dado pela seguinte sequncia:

Ateno: a frmula est correta! O erro numrico!


De (Numerical analysis - Kincaid, Cheney), p. 48

15:38

Mal condicionamento
Problema mal condicionado: problema que no depende continuamente dos dados. Em um problema mal condicionado, uma leve variao nos dados de entrada pode levar a solues completamente diferentes. Por que isso importante ?
(Dados so provenientes de medidas, observaes, etc. e esto sujeitos a erros)

15:38

Mal condicionamento (exemplo)


x+y=2 x + 1.01y = 2.01
y

(1,1)

y = (2.01 - x)/1.01 y = 2-x x