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
2

8
0

2
2

0
0

100011

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 0 e n>0


xi so inteiros satisfazendo 0  xi <

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 =




-5.127 =




mantissa: (3 10-1 + 5 10-2)


e=0
= 0.35 100

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;
me M

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.

2
11
1

2
2

5
1

2
1

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

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

x 25

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

2
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

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

fracionrio

Ponto fixo:

b
Ex.: este dgito vale sempre b -2
ponto decimal "fixo"
mantissa

Ponto flutuante:

expoente
b
Ex.: o valor deste nmero
depende o expoente: b -expoente
(em outras palavras: o ponto
flutuante)

09:59

Exemplo: ponto fixo flutuante


Base 10.
ponto fixo

ponto flutuante

2343.12

0 2 3 4 3 1 2

+ 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

Sempre igual ao valor


unitrio desta casa.
No caso: 10-6

ponto fixo:
ponto flutuante

ponto flutuante

Depende do intervalo considerado:


No caso: 10 7 10expoente

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

nmeros pequenos

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

x x x

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

0.75

2
6
0

2
2

3
1
1101

0.75 2 = 1.50
0.50 2 = 1.00
0.00 2 = 0.00

1
(13.75)10 = (1101.110)2

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

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

Resposta: 0.101 24

(0.5 2-3)10
(0.1)2 2-3
(0.0001)

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

Você também pode gostar