Buscar

Representação de Números de Ponto Flutuante e Erros Computacionais

Prévia do material em texto

Jorge Llagostera 
UNICAMP/FEM/DE
1
1.2 Aritmética Computacional1.2 Aritmética Computacional
Números de ponto flutuante em 32 bits (exemplo)Números de ponto flutuante em 32 bits (exemplo)
Sinal : 1 bitSinal : 1 bit
Expoente (base 16) : 7 bitsExpoente (base 16) : 7 bits
Mantissa: 24 bitsMantissa: 24 bits
Correspondem a números com 6 ou 7 dígitos Correspondem a números com 6 ou 7 dígitos 
decimais de precisão, incluindo números de 16decimais de precisão, incluindo números de 16--6464 a 
1616+63+63
Jorge Llagostera 
UNICAMP/FEM/DE
2
1.2 Aritmética Computacional1.2 Aritmética Computacional
Por exemplo,Por exemplo,
0 / 1000010 / 1011001100000100000000000 / 1000010 / 101100110000010000000000
é equivalente a 179,015625 é equivalente a 179,015625 
O próximo número de máquina superior seráO próximo número de máquina superior será
0 / 1000010 / 1011001100000100000000010 / 1000010 / 101100110000010000000001
Equivalente a 179,0156402587890625Equivalente a 179,0156402587890625
O próximo número de máquina inferior seráO próximo número de máquina inferior será
0 / 1000010 / 101100110000011111111110 / 1000010 / 10110011000001111111111
Equivalente a 179,0156097412109375Equivalente a 179,0156097412109375
Jorge Llagostera 
UNICAMP/FEM/DE
3
1.2 Aritmética Computacional1.2 Aritmética Computacional
Assim podeAssim pode--se representar 15 x 2se representar 15 x 22828 números no números no 
formato formato ±± 0,d0,d11dd22 ...d...d2424 x 16 x 16 ee11ee22...e...e77
O menor real representO menor real representáável servel seráá aproxaprox. 10. 10--7878
e o maior sere o maior seráá aproxaprox. 10. 10+76+76
Abaixo do mAbaixo do míínimo teremos o nimo teremos o ““underflowunderflow”” e acima e acima 
do mdo mááximo teremos o ximo teremos o ““overflowoverflow””..
Jorge Llagostera 
UNICAMP/FEM/DE
4
1.2 Aritmética Computacional1.2 Aritmética Computacional
Erros absoluto e relativo Erros absoluto e relativo 
Se p* é uma aproximação de p, Se p* é uma aproximação de p, 
o erro absoluto é dado por | po erro absoluto é dado por | p--p* | p* | 
o erro relativo é dado por | po erro relativo é dado por | p--p* | /| p | com pp* | /| p | com p≠≠ 00
DizDiz--se que o nse que o núúmero p* aproximamero p* aproxima--se a p com se a p com t t 
algarismos significativos se algarismos significativos se t t éé o maior inteiro no maior inteiro nãão o 
negativo para o qualnegativo para o qual | p| p--p* | /| p | < 5 x 10p* | /| p | < 5 x 10--tt
Jorge Llagostera 
UNICAMP/FEM/DE
5
1.2 Aritmética Computacional1.2 Aritmética Computacional
Erros computacionaisErros computacionais
Sejam dois nSejam dois núúmeros prmeros próóximos:ximos:
A(x)=0,dA(x)=0,d11dd22......ddpp aap+1p+1 aap+2p+2......aakk x 10x 10nn
A(y)=0,dA(y)=0,d11dd22......ddpp bbpp+1+1 bbpp+2+2......bbkk x 10x 10nn
A( A(x)A( A(x)--A(y) ) = 0,sA(y) ) = 0,sp+1p+1 ssp+2p+2......sskk x 10x 10nn--pp
Que tem apenas kQue tem apenas k--p algarismos significativos.p algarismos significativos.
Jorge Llagostera 
UNICAMP/FEM/DE
6
1.2 Aritmética Computacional1.2 Aritmética Computacional
AmplificaAmplificaçãção de erroso de erros
Z/e Z/e ≈≈ A( (Z+d)/ A(e) )A( (Z+d)/ A(e) )
Se e = 10Se e = 10--nn, com n > 0, ent, com n > 0, entãão z/e = z x 10o z/e = z x 10nn
E obtE obtéémm--se se 
A( (Z+d)/ A(e) )=(Z+d) x 10A( (Z+d)/ A(e) )=(Z+d) x 10n n 
com o erro absoluto valendo d x 10com o erro absoluto valendo d x 10n n 
Jorge Llagostera 
UNICAMP/FEM/DE
7
1.2 Aritmética Computacional1.2 Aritmética Computacional
DeveDeve--se evitar, sempre que possse evitar, sempre que possíível, a amplificavel, a amplificaçãção o 
de erros.de erros.
No cNo cáálculo de polinlculo de polinôômios, por exemplo, devemios, por exemplo, deve--se se 
fazer os cfazer os cáálculos de modo aninhado, ou seja:lculos de modo aninhado, ou seja:
f(x) = xf(x) = x33--6x6x22+3x+3x--0,149 ser0,149 seráá calculado com menor calculado com menor 
erro se for feito na seguinte seqerro se for feito na seguinte seqüêüênciancia
f(x) = ( (x f(x) = ( (x -- 6) x + 3 ) x 6) x + 3 ) x –– 0,1490,149
Jorge Llagostera 
UNICAMP/FEM/DE
8
1.3 Algoritmos e Convergência1.3 Algoritmos e Convergência
Algoritmos: procedimentos de cAlgoritmos: procedimentos de cáálculo e sua lculo e sua 
representarepresentaçãção por meio de o por meio de peseudopeseudo--ccóódigodigo
ExatidExatidãão e preciso e precisãão: conceitos diferenteso: conceitos diferentes
Estabilidade de algoritmos: pequenas mudanEstabilidade de algoritmos: pequenas mudançças nos as nos 
dados iniciais devem produzir pequenas alteradados iniciais devem produzir pequenas alteraçõções es 
nos resultados finais. nos resultados finais. 
A introduA introduçãção de um erro (e) em algum esto de um erro (e) em algum estáágio do gio do 
processo de cprocesso de cáálculo acarreta aplculo acarreta apóós (n) operas (n) operaçõções es 
um erro (um erro (EEnn) ) 
Jorge Llagostera 
UNICAMP/FEM/DE
9
1.3 Algoritmos e Convergência1.3 Algoritmos e Convergência
Se (Se (EEnn) ) ≈≈ C n eC n e
onde C onde C éé uma constante independente de (n) o uma constante independente de (n) o 
crescimento do erro crescimento do erro éé dito dito linearlinear
Se (Se (EEnn) ) ≈≈ kknn ee
onde k>1 o crescimento do erro onde k>1 o crescimento do erro éé dito dito exponencialexponencial
O primeiro O primeiro éé inevitinevitáável, o segundo vel, o segundo éé inaceitinaceitáávelvel
Jorge Llagostera 
UNICAMP/FEM/DE
10
1.3 Algoritmos e Convergência1.3 Algoritmos e Convergência
ConvergConvergêênciancia
Considerando uma seqConsiderando uma seqüêüência {ncia {aann} que converge para } que converge para 
um num núúmero (a), sua taxa de convergmero (a), sua taxa de convergêência ncia éé
estabelecida pela convergestabelecida pela convergêência de outra seqncia de outra seqüêüência ncia 
{{bbnn} com termos n} com termos nãão nulos, que satisfao nulos, que satisfaçça a relaa a relaçãção o 
abaixo, onde K abaixo, onde K éé uma constante independente de numa constante independente de n
K
b
aa
n
n <
−
	1.2 Aritmética Computacional
	1.2 Aritmética Computacional
	1.2 Aritmética Computacional
	1.2 Aritmética Computacional
	1.2 Aritmética Computacional
	1.2 Aritmética Computacional
	1.2 Aritmética Computacional
	1.3 Algoritmos e Convergência
	1.3 Algoritmos e Convergência
	1.3 Algoritmos e Convergência

Continue navegando