Buscar

Apostila Cálculo Numérico - Galdino

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Mtodos Numricos para Engenheiros com Scilab
Srgio Galdino
2 de Setembro de 2013
Capítulo 1
Erros em computaes numricas
1.1 Glamour da computao
A opinio geral que computadores so capazes de fazer operaes aritmticas ra-
pidamente e com grande exatido. Em parte correta quando comparada ao
clculo manual. Por exemplo, taxas tpicas para multiplicao manual de nmeros
so 0.05s−1 ( so 20s para efetuar uma multiplicao) enquanto num computa-
dor so tipicamente maiores que 106s−1 chegando facilmente a 1012s−1 em
supercomputadores. Os clculos computacionais superam em vrias ordens
de magnitude os clculos manuais, permitindo, assim, enfrentar verdadeiros
desa�os computacionais. S para produzir o efeito psicodlico pode ser dito
que em 1 segundo um computador de 106/s pode fazer mais clculos (e sem
cometer erros grosseiros) que uma pessoa ir fazer manualmente em sua vida
inteira. Desviando-se do glamour da computao, este captulo dar bases pra
mostrar que resultados de computaes numricas devem ser vistas com cautela.
1.2 Anlise numrica versus anlise matemtica
A anlise matemtica (no cotidiano) e anlise numrica diferem muito quando
so utilizadas. A anlise matemtica normalmente assume uma representao
in�nita para nmeros e processos, enquanto computaes numricas so realizadas
em maquinas �nitas em tempo �nito. A representao �nita dos nmeros em
uma mquina produz erros de arredondamento, enquanto a representao �nita
de um processo produz erro de truncamento:
Exemplos:
Nmeros:
pi = 3.1415926535 . . . (1.1)
1
3
= 0.33333 . . . (1.2)
3
4 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
Processos:∫ b
a
f(x)dx = lim
∆xi→0
n∑
i=1
f(xi)∆xi, ∆xi = (xi+1 − xi) (1.3)
df(x)
dx
= lim
∆x→0
(
f(x+∆x)− f(x)
∆x
)
(1.4)
Grande parte da matemtica sensvel aos efeitos produzidos pelo arredon-
damento numrico; esta vulnerabilidade que os estatsticos chamam de "no
robusto".
Esta diferena fundamental, pois somente partes da matemtica resistente
aos erros de arredondamentos so teis em matemtica aplicada ao mundo real.
Signi�cados diferentes surgem para as mesmas palavras. A expresso zeros
de um polinmio pode ter vrios signi�cados em computao e um nico signi�-
cado em matemtica (ver [4] sec 1.10).
A matemtica lida preferencialmente com teoremas exatos e precisos; an-
lise numrica usa muitos mtodos heursticos. A existncia de um teorema no
su�ciente em clculos computacionais. Estas diferenas so muitas vezes srias e
conduzem a grandes desentendimentos.
1.3 Dgitos signi�cativos, preciso, exatido e erros
Quando se trata com valores numricos e clculos numricos, existem vrios
conceitos que devem ser considerados: ,
1. Dgitos signi�cativos
2. Preciso e exatido
3. Representao do nmero
4. Erros
Os trs primeiros conceitos so discutidos brevemente nesta seo e os demais
nas prximas.
Dgitos signi�cativos
Os algarismos signi�cativos, ou dgitos signi�cativos em um nmero, so os
dgitos do nmero que se sabe serem corretos. Clculos de engenharia e cient�-
cos geralmente comeam com um conjunto de dados com um nmero limitado
1.4. COMPUTAES NUMRICAS 5
de dgitos signi�cativos. Quando estes nmeros so processados atravs de um
algoritmo numrico, importante estimar quantos dgitos signi�cativos esto
presentes no resultado �nal computado.
Preciso e Exatido
Preciso refere-se a quo prximo um nmero representa o nmero que ele est
representando.
Exatido refere-se a quo prximo um nmero est do valor real do nmero
que est representando quanti�cado pelo erro absoluto ou relativo. O termo
preciso refere-se a exatido com as quias as operaes aritmticas so realizadas. A
preciso governada pelo nmero de dgitos a ser utilizado nos clculos numricos.
A exatido regida por erros na aproximao numrica. Preciso e exatido so
quanti�cados pelos erros de clculos numricos.
1.4 Computaes Numricas
A aritmtica das mquinas digitais (computadores, calculadoras, ...) no a
mesma que usada em cursos de clculo ou lgebra. Assume-se como a�rmaes
verdadeiras que 2 + 2 = 4, 22 = 4, e (
√
2)2 = 2. Na aritmtica padro das
mquinas digitais as duas primeiras so verdadeiras mas a terceira no. Para
entender poque isto verdadeiro deve-se explorar o mundo da aritmtica de
preciso �nita utilizada por mquinas digitais.
1.4.1 Representao
O sistema de numerao decimal o mais usado pelo homem nos dias de hoje. O
nmero 10 tem papel fundamental, chamado de base do sistema. Os smbolos
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, so usados para representar qualquer grandeza. O
fato de o sistema decimal ser largamente utilizado tem evidentemente razes
histricas, pois na realidade qualquer nmero inteiro maior que 1 poderia ter
sido escolhido. De fato, no mundo dos computadores digitais o sistema binrio
o utilizado. O nmero 2 a base do sistema e os smbolos 0 e 1 servem para
representar uma grandeza qualquer. Ao lado do sistema binrio, os sistemas
octal, hexadecimal, base 8 e 16 respectivamente, so tambm utilizados. Isto
ocorre pelo fato de que cada smbolo octal e hexadecimal representa um
equivalente a trs e quatro smbolos no sistema binrio e vice-versa.
1.4.2 Converso
Dado um nmero x representado na base N, isto , na N-representao, e ns que-
remos saber como representa-lo na base M, isso , na M-representao. Temos
6 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
ento a equao:
x = amN
m + · · ·+ a1N1 + a0N0 + a−1N−1 + · · ·+ a−nN−n
= bjM
j + · · ·+ b1M1 + b0M0 + b−1M−1 + · · ·+ b−kM−k (1.5)
onde os coe�cientes am, am−1, · · · , a1, a0, a−1, · · · , an−1, a−n so conhe-
cidos e os coe�cientes bj , bj−1, · · · , b1, b0, b−1, · · · , bk−1, b−k devem ser
determinados. Observe que bj , bj−1, · · · , b1, b0, b−1, · · · , bk−1, b−k de-
vem ser expressos com smbolos de dgitos da N-representao. Para realizar
a converso dividiremos x em uma parte inteira i e uma parte fracionria f .
Ns temos i = bjM
j + · · · + b1M1 + b0M0, e dividindo i por M ns obtemos
um quociente q1 e um resto r1 = b0. Continuando, dividiremos q1 por M ,
ns conseguiremos q2 e o resto r2 = b1, e, obviamente, b0, b1, b2, · · · so os
restos consecutivos quando i dividido repetitivamente por M . De forma
semelhante ns encontramos a parte fracionria como as partes inteiras con-
secutivas quando f multiplicado repetitivamente por M e a parte inteira
removida. Os clculos devem ser feitos na N-representao eM deve ser tambm
dado nesta representao.
Exemplo 1 Converso o nmero decimal 261, 359 para a representao binria.
Converso: Decimal para binrio
Inteiro: Diviso sucessiva do nmero decimal por 2
261 2
1 130 2
0 65 2
1 32 2
0 16 2
0 8 2
0 4 2
0 2 2
0 1
O nmero inteiro binrio obtido atravs dos restos das divises escritos na
ordem inversa da sua obteno. Ento 26110 = 1.0000.01012.
Frao: Multiplicao sucessiva da frao decimal por 2
1.4. COMPUTAES NUMRICAS 7
Multiplicao Sobra
0,359x2 = 0,718 0
0,718x2 = 1,436 1
0,436x2 = 0,872 0
0,872x2 = 1,774 1
0,774x2 = 1,488 1
0,488x2 = 0,976 0
0,976x2 = 1,952 1
0,952x2 = 1,904 1
0,904x2 = 1,808 1
.
.
.
.
.
.
.
.
.
.
.
.
A frao binria obtida atravs das sobras, parte inteira, das multiplicaes escri-
tas na ordem direta de sus obteno. Ento 0, 35910 = 0, 0101.1011.1 · · ·2.
Somando-se as partes inteiras e fracionrias dos binrios obtidos tm-se
261, 35910 = 1.0000.0101, 0101.1011.1 · · ·2
Exemplo 2 Converso o nmero decimal 261, 359 para a representao ternria.
Converso: Decimal para ternrio
Inteiro: Diviso sucessiva do nmero decimal por 3
261 3
0 87 3
0 29 3
2 9 3
0 3 3
0 1
O nmero inteiro ternrio obtido atravs dos restos das divises escritos na
ordem inversa da sua obteno. Ento 26110 = 100.2003.
Frao: Multiplicao sucessiva da frao decimal por 3
Multiplicao Sobra
0,359x3 = 1,077 1
0,077x3= 0,231 0
0,231x3 = 0,693 0
0,693x3 = 2,079 2
0,079x3 = 0,237 0
0,237x3 = 0,711 0
0,711x3 = 2,133 2
0,133x3 = 0,399 0
0,399x3 = 1,197 1
.
.
.
.
.
.
.
.
.
.
.
.
8 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
A frao ternria obtida atravs das sobras, parte inteira, das multiplicaes
escritas na ordem direta de sus obteno. Ento 0, 35910 = 0, 100.200.201 · · ·3.
Somando-se as partes inteiras e fracionrias dos binrios obtidos tm-se
261, 35910 = 100.200, 100.200.201 · · ·3
Exemplo 3 Converso o nmero decimal 261, 359 para a representao hexa-
decimal.
Converso: Decimal para hexadecimal
Inteira: Diviso sucessiva do nmero decimal por 16
261 16
5 16 16
0 1
O nmero inteiro hexadecimal obtido atravs dos restos das divises escritos
na ordem inversa da sua obteno. Ento 26110 = 10516.
Frao: Multiplicao sucessiva da frao decimal por 16
Multiplicao Sobra
0,359x16 = 5,744 5
0,744x16 = 11,904 11
0,904x16 = 14,464 14
0,464x16 = 7,424 7
0,424x16 = 6,784 6
0,784x16 = 12,544 12
0,544x16 = 8,704 8
0,704x16 = 11,264 11
0,264x16 = 4,224 4
.
.
.
.
.
.
.
.
.
.
.
.
A frao hexadecimal obtida atravs das sobras, parte inteira, das multipli-
caes escritas na ordem direta de sus obteno. Ento
0, 35910 = 0, 5 11 14 7 6 12 8 11 4 · · ·16
ou utilizando-se os smbolos hexadecimais (Tabela 1.1)
0, 35910 = 0, 5BE.76C.8B4 · · ·16
Somando-se as partes inteiras e fracionrias dos binrios obtidos tm-se
261, 35910 = 105, 5BE.76C.8B4 · · ·16
1.4. COMPUTAES NUMRICAS 9
Tabela 1.1: Smbolos Hexadecimais.
Grandeza Smbolo
decimal hexadecimal
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F
Conv10.sce
Este roteiro Scilab realiza a converso de inteiros na base 10 para base
qualquer.
1. // Converso de inteiros da base 10 para uma base qualquer
2. function y=conv10(x,b)
3. y=''
4. while x > 0
5. cx=modulo(x,b)
6. x=int(x/b)
7. y=string(cx)+'.'+y
8. end
9. endfunction
Ao executar o roteiro Conv10.sce pode-se realizar as converses. Aqui
esto os resultados:
-->conv10(261,2)
ans =
1.0.0.0.0.0.1.0.1.
-->
-->conv10(261,3)
ans =
10 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
1.0.0.2.0.0.
-->
-->conv10(261,16)
ans =
1.0.5.
-->
ConvF10.sce
Este roteiro Scilab realiza a converso de fracionrios na base 10 para base
qualquer.
1. // Converso de fracionrios da base 10 para uma base qualquer
2. function y=convF10(x,b,n)
3. y='0,'
4. i=0
5. while i < n
6. p=x*b
7. cx=int(p)
8. y=y+string(cx)+'.'
9. x=p-cx
10. i=i+1
11. end
12. endfunction
Ao executar o roteiro ConvF10.sce pode-se realizar as converses. Aqui
esto os resultados:
-->convF10(0.359,2,9)
ans =
0,0.1.0.1.1.0.1.1.1.
-->
-->convF10(0.359,3,9)
ans =
0,1.0.0.2.0.0.2.0.1.
-->
-->convF10(0.359,16,9)
ans =
0,5.11.14.7.6.12.8.11.4.
-->
Conv10X.sce
Este roteiro Scilab realiza a converso de um nmero na base 10 para base
qualquer (combina Conv10.sce e ConvF10.sce ) .
1.4. COMPUTAES NUMRICAS 11
1. // Converso da base 10 para uma base qualquer: Inteiro + Frao
2. function y=conv10X(xx,b,n)
3. x=int(xx)
4. yi=''
5. while x > 0
6. cx=modulo(x,b)
7. x=int(x/b)
8. yi=string(cx)+'.'+yi
9. end
10. y=yi
11. x=xx-int(xx)
12. yf=','
13. i=0
14. while i < n
15. p=x*b
16. cx=int(p)
17. yf=yf+string(cx)+'.'
18. x=p-cx
19. i=i+1
20. end
21. y=y+yf
22. endfunction
Ao executar o roteiro Conv10X.sce pode-se realizar as converses. Aqui
esto os resultados:
-->conv10X(261,2,0)
ans =
1.0.0.0.0.0.1.0.1.,
-->
-->conv10X(0.359,2,9)
ans =
,0.1.0.1.1.0.1.1.1.
-->
-->conv10X(261.359,2,9)
ans =
1.0.0.0.0.0.1.0.1.,0.1.0.1.1.0.1.1.1.
-->
-->conv10X(261,16,0)
ans =
1.0.5.,
-->
-->conv10X(0.359,16,9)
ans =
,5.11.14.7.6.12.8.11.4.
-->
12 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
-->conv10X(261.359,16,9)
ans =
1.0.5.,5.11.14.7.6.12.8.11.4.
-->
1.4.3 Converso de uma base qualquer para base 10
Para obter-se o nmero decimal equivalente a um nmero escrito em qualquer
base s multiplicar cada dgito por sua potncia:
Exemplo 4 261, 35910 ∼= 1.0000.0101, 0101.1011.12
Parte inteira
1 · 28 + 0 · 27 + 0 · 26 + 0 · 25 + 0 · 24 + 0 · 23 + 1 · 22 + 0 · 21 + 0 · 20
= 261
Parte fracionria
0 · 2−1 + 1 · 2−2 + 0 · 2−3 + 1 · 2−4 + 1 · 2−5 + 0 · 2−6 + 1 · 2−7+
1 · 2−8 + 1 · 2−9 ∼= 0, 3574
Erro
|261, 359− 261, 3574| = 0, 0016
Exemplo 5 261, 35910 ∼= 100.200, 100.200.2013
Parte inteira
1 · 35 + 0 · 34 + 0 · 33 + 2 · 32 + 0 · 31 + 0 · 30
= 261
Parte fracionria
1 · 3−1 + 0 · 3−2 + 0 · 3−3 + 2 · 3−4 + 0 · 3−5 + 0 · 3−6 + 2 · 3−7+
0 · 3−8 + 1 · 3−9 ∼= 0, 35899
Erro
|261, 359− 261, 35899| = 0, 00001
1.4. COMPUTAES NUMRICAS 13
Exemplo 6 261, 35910 ∼= 105, 5 11 14 7 6 12 8 11 416 ou seja,
261, 35910 ∼= 105, 5BE.76C.8B416
Parte inteira
1 · 162 + 0 · 161 + 5 · 160 = 261
Parte fracionria
5
161
+
11
162
+
14
163
+
7
164
+
6
165
+
12
166
+
8
167
+
11
168
+
4
169
∼= 0, 35899999999674
Erro
|261, 359− 0, 35899999999674| ∼= 3, 24× 10−12
1.4.4 Representao de um nmero inteiro
A representao de um nmero inteiro no computador qualquer trabalha in-
ternamente com uma base �xa β ≥ 2 um nmero inteiro; sendo geralmente
escolhido como uma potncia de 2.
Dado um nmero inteiro n ≥ 0, ele possui uma nica representao,
n = ±(nknk−1 · · ·n1n0)
= ±(nkβk + nk−1βk−1 + · · ·+ n1β1 + n0β0), (1.6)
onde os ni, i = 0, 1, · · · , k so inteiros satisfazendo 0 ≤ ni < β e nk 6= 0.
Por exemplo, na base β = 10, o nmero 1957 representado por:
1957 = 1× 103 + 9× 102 + 5× 101 + 7× 100
e armazenado como n3n2n1n0.
1.4.5 Representao de um nmero real
A representao de um nmero real no computador pode ser feita de duas ma-
neiras:
a) Representao do ponto �xo
Este foi o sistema usado, no passado, por muitos computadores. Sendo ainda
usado por ser simples em aplicaes de microprocessadores. Um nmero real,
x 6= 0, ele ser representado em ponto �xo por:
x = ±
−l∑
i=k
xiβ
i
(1.7)
14 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
onde k e l so o comprimento da parte inteira e fracionria do nmero x, res-
pectivamente.
Por exemplo, na base β = 10, o nmero 1957.325 representado por:
1957.325 = +
−3∑
i=3
xiβ
i
= 1× 103 + 9× 102 + 5× 101 + 7× 100 + 3× 10−1 + 2× 10−2 + 5× 10−3
e armazenado como x3x2x1x0.x−1x−2x−3.
b) Representao do ponto-�utuante
Em geral, um nmero x na representao do ponto-�utuante tem a forma se-
guinte:
x = ±m · βk (1.8)
onde
m = mantissa, um nmero fracionrio em ponto �xo, isto , m =
n∑
i=l
m−iβ−i
(onde l > 0, frequentemente l = 1, tal que se x 6= 0, ento m−1 6= 0;
0 ≤ m−i < β, i = 1, 2, · · · t, com t a quantidade de dgitos signi�cati-
vos ou preciso do sistema , β−1 ≤ m < 1 e −m ≤ k ≤M) ;
β = base, 2 se o sistemas de numerao for binrio, 10 se o sistema de
numerao for decimal, etc.;
k = expoente, um inteiro.
Observao 1 m−1 6= 0 ou 1
β
< m < 1 (signi�ca que devemos ter um digito
no nulo aps a virgula) caracteriza o sistema de nmeros em ponto �utuante
normalizado.
Observao 2 o nmero zero pertence a qualquer sistema e representado com
mantissa igual a zero e k = −m.
Exemplo 7 Escrever o nmero N = −19.2 · 10−8 em ponto �utuante na
forma normalizada.
Reescrevendo o nmero para a forma N = −0.192 · 10−6 , o nmero �ca
na representao do ponto-�utuante, o expoente igual a -6, a mantissa igual
a -0.192 e a base 10.
Escrevendo agora os nmeros: x1 = 0.53;x2 = −8.472;x3 = 0.0913;x4 =
35391.3 e x5 = 0.0004 , onde todos esto na base β = 10, em ponto �utuante
1.4.COMPUTAES NUMRICAS 15
na forma normalizada:
x1 = 0.53 = 0.53× 100,
x2 = −8.472 = −0.8472× 101,
x3 = 0.0913 = 0.913× 10−1,
x4 = 35391.3 = 0.353913× 105,
x5 = 0.0004 = 0.4× 10−3.
Para representarmos um sistema de nmeros em ponto �utuante norma-
lizado, na base β, com t dgitos signi�cativos e com limites do expoente m e
M , usa-se a notao: FN (β, t,m,M).
Um nmero em FN (β, t,m,M) ser representado por:
±0.m−1m−2m−3 · · ·m−t × β−k (1.9)
onde m−1 6= 0 e −m ≤ k ≤M .
Exemplo 8 Considere o sistema FN (10, 3, 2, 2). Represente nesse sistema
os nmeros do exemplo anterior.
Soluo: Os nmero sero representado por ±0.m−1m−2m−3 · · ·m−t × β−k,
onde −2 ≤ k ≤ 2. Ento:
x1 = 0.53 = 0.53× 100,
x2 = −8.472 = −0.8472× 101,
x3 = 0.0913 = 0.913× 10−1,
x4 = 35391.3 = 0.353913× 105,
x5 = 0.0004 = 0.4× 10−3.
Observe que os nmeros x4 = 35391.3 e x5 = 0.0004 no podem ser re-
presentados no sistema. De fato, o nmero 35391.3 = 0.353913 × 105 tem o
expoente maior que 2, causando over�ow, por outro lado 0.0004 = 0.4×10−3
e assim o expoente menor que −2 causando under�ow.
Exemplo 9 Diferena entre dois nmeros na aritmtica em ponto �utuante
normalizado.
0.27143247 · 107
−0.27072236 · 107
0.00071011 · 107
Vemos que a diferena entre estes dois nmeros ponto-�utuante normali-
zados, resulta num nmero em ponto-�utuante no normalizado. Podemos,
entretanto, normaliza-lo se deslocarmos o ponto trs lugares direita e somar
-3 ao expoente, obtendo-se 0.71011000 · 104 normalizado.
16 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
1.4.6 Armazenamento na memria
Para comear vamos representar o nmero 0.00053474839 num computador de-
cimal. A notao ponto-�utuante normalizada deste nmero 0.53474839 ·10−3.
Par evitar expoente negativo, ns adicionamos, arbitrariamente, 50 (desloca-
mento) ao expoente e o nmero agora 0.53474839 ·1047. O expoente somado
a uma constante arbitrria chamado de caracterstica. O nmero pode ser re-
presentado, unicamente, atravs da normalizao da notao ponto-�utuante, na
memria do computado utilizando o esquema de representao seguinte:
+ 5 3 4 7 4 8 3 9 4 7
↘ ↘
sinal caracterstica = expoente + 50
Deve ser observado que a caracterstica coloca o expoente limitado a ex-
presso seguinte: −50 ≤ k ≤ 49. O nmero tem o mximo de oito dgitos de
preciso e a representao falha quando temos nmeros muito grande ou muito pe-
queno. De modo anlogo, um nmero binrio na representao do ponto-�utuante
tambm pode ser armazenado na memria de um computador digital. Uma
palavra armazenada tendo um bit de "sinal"e 31 bits regulares pode repre-
sentar um nmero binrio ponto-�utuante na forma seguinte:
0 1 8 9 31
sinal caracterstica mantissa normalizada
onde
sinal = sinal do nmero codi�cado, 0 se positivo e 1 se negativo;
caracterstica = 128 + expoente (resultado escrito em binrio);
mantissa = frao binria normalizada.
Exemplo 10 Represente o nmero 12.625 numa palavra de 32 bits conforme
esquema de representao acima.
12 2
0 6 2
0 3 2
1 1
Multiplicao Sobra
0.625x2 = 1.25 1
0.25 x2 = 0.50 0
0.5 x2 = 1.0 1
12.62510 = 1100.1012 = 0.1100101× 24
1.4. COMPUTAES NUMRICAS 17
Ajustando a caracterstica: 4 + 128 = 132
132 2
0 66 2
0 33 2
1 16 2
0 8 2
0 4 2
0 2 2
0 1
13210 = 100001002
0 1 8 9 31
0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 . . . . . . 0
1.4.7 Aritmtica do ponto-�utuante
Os princpios das operaes aritmticas bsicas de um computador sero discuti-
dos agora. Para isto iremos considerar que estamos trabalhando num com-
putador decimal com uma palavra de 10 dgitos de comprimento. Princpios
semelhantes so utilizados em computadores binrios (digitais). Na adio ou
subtrao de dois nmeros o computador examina a caracterstica ajustada dos
dois nmeros. Os seguintes casos so possveis:
1- Caractersticas iguais: Adiciona-se as mantissas e mantm-se a carac-
terstica.
32109876 54
+12340123 54
44449999 54
2- Quando existe estouro (over�ow) na adio das mantissas: O resultado
ser ajustado.
51319212 55
+98756431 55
150075643 55
↘ ↘
estouro caracterstica
Resulta em:
18 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
15007564 56
↘
caracterstica ajustada
3- Caractersticas distintas: Mantm-se a de maior mdulo e ajusta-se a de
menor valor.
31411122 55 31411122 55
+12344321 53 −→ +00123443 55
31534565 55
4- Resultado com zero, ou zeros, esquerda: Normaliza-se o resultado.
34122222 73
−34000122 73
00122100 73 resulta em: 12210000 71
Na multiplicao e diviso as mantissas e caractersticas so tratadas separa-
damente.
31313142 51
×12315782 65
mantissa = 0.31313142× 0.12315782 = 0, 038564583
caracterstica = 51+65− 50 = 66, onde −50 o desconto para compensar
o ajuste +50 em cada ajuste do expoente da representao.
A produto :
31313142 51× 12315782 65 = 038564583 66
Com a normalizao obtm-se o resultado: 38564583 65
1.5 Anlise de erros
Resultados exatos dos clculos so um supremo ideal em anlise numrica. Qua-
tro tipos de erro afetam a exatido dos clculos [1]: erros de modelo, erros de
dados, erros de algoritmos e erros de arredondamento. A maioria da litera-
tura em lngua inglesa faz classi�cao diferente. Estes erros no so conseqncias
de equvocos ou decises precipitadas. Diferente, por exemplo, de erros de
programao, eles so inevitveis. Em muitos casos eles podem ser antecipados,
e requerimentos de exatido podem ser impostos, i.e., eles podem ser contro-
lados para permanecerem abaixo de certos limites de erros. Os limites de
1.5. ANLISE DE ERROS 19
erro so parte da especi�cao do problema numrico:
|Erros do modelo + erros dos dados + erros de algoritmos + erro de
arredondamento| ≤ tolerncia
Todos os erros relevantes tm que ser identi�cados e seus efeitos nos re-
sultados numricos devem ser avaliados. Nas sees seguintes os quatro tipos
de erros so caracterizados.
1.5.1 Erros de modelo
Em qualquer processo de modelagem, vrias grandezas so desprezadas. O
modelo resultante uma abstrao da realidade e vrios modelos podem ser
utilizados. O desvio inevitvel entre o modelo e o objeto modelado denotado
por erro de modelagem. necessrio estimar a magnitude dos efeitos dos erros
de modelagem para garantir os requisitos de tolerncia de erro. Normalmente
tais estimativas no so obtidas pois os fatores envolvidos so desconhecidos e
no quanti�cados.
1.5.2 Erro de dados
Geralmente modelos no so para uma aplicao espec�ca, mas para uma classe
de aplicaes similares. Uma instncia identi�cada por valores de parmetros do
modelo. Por exemplo, o comprimento l, o deslocamento angular inicial θ e a
constante gravitacional g (que depende da localizao geogr�ca) so parmetros
do modelo matemtico do pndulo simples. Devido a medies inexatas e outros
fatores, os valores usados para parmetros do modelo diferem do verdadeiro
valor (normalmente desconhecido); isto chamado de erro de dados. Os
impactos dos erros de dados so objetos de anlise.
1.5.3 Erro de algoritmo
Quando um problema matemtico no pode ser resolvido analiticamente usando
manipulaes algbricas, ento pode ser tentada uma soluo por algoritmo num-
rico. No desenvolvimento de algoritmos numricos so feitas simpli�caes antes
que uma formulao �nita do problema possa ser obtida para que o esforo com-
putacional requerido seja reduzido a um nvel razovel. O desvio resultante
dos resultados obtidos pelo algoritmo dos da soluo do problema matemtico
denotado por erro de algoritmo.
Exemplo:
A soluo do sistema de equaes
Ax = b, A ∈ Rnxn, b, x ∈ Rn
20 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
requer um esforo computacional proporcional a n3. Se uma soluo aproximada
x˜ satisfazendo
||Ax˜− b|| < �
su�ciente, o custo computacional pode ser reduzido signi�cativamente. Se
A no possui estrutura especial, ento somente
k ≈ √κ2 ln(2/�)
2
, κ2 := ‖A‖2
∥∥A−1∥∥2
multiplicaes matriz-vetor so necessrias para soluo iterativa [3]. O nmero κ2
o nmero condio euclidiano da matriz A (ver seo 13.8 [1]).
1.5.4 Erro de truncamento
Algoritmos numricos implantados em um computador podem somente re-
alizar uma seqncia �nita de operaes aritmticas (adio, subtrao, multiplicao,
diviso e lgicas). Para calcular funes prede�nidas sin, exp, ln, . . . somente
uma seqncia �nita de operaes aritmticas so executados pelo computador. O
erro devido a troca de um processo in�nito por uma seqncia �nita de operaes
aritmticas chamado de erro de truncamento.
Exemplo 11 A troca da srie in�nita da exponencial:
ex =
∞∑
k=0
xk
k!
com Pn(x) =
n∑
k=0
xk
k!
produz um erro de truncamento
etrunc(x) := Pn(x)− cos(x)
que cresce com a distncia entre x e zero.
1.5.5 Erros de discretizao
O erro resultante de uma troca de informao contnua por informao discreta,
num processo de amostragem, referido como erro de discretizao. Muitos
autores estendem o termo erro de truncamento para incluir o erro de discre-
tizao.
Exemplo 12 O clculo de uma integral de�nida
I =
∫ b
a
f(x)dx
so aproximados por somas �nitas envolvendo uma malha de pontos xi ∈
[a, b], i = 1, 2, · · ·n que pertencem ao conjunto de nmeros de pontos �utuan-
tes e as correspondentes avaliaes aproximadas das funes {f(x1), · · · f(xn)}.
1.5. ANLISE DE ERROS 21
Os erros de arredondamento comprometem a exatido dos resultados quando
tenta-se minimizar os erros de truncamento re�nando-se a malha de discre-
tizao.
1.5.6 Erros de arredondamento
Um computador fornece somente um conjunto �nito de nmeros: inteiros, e
nmero de ponto-�utuante com mantissa de comprimento �xo. Desta forma
as operaes feitas num programa de computador no so geralmente executa-
das exatamente. Cada passo mapeia seu resultado em um dos nmeros de
ponto-�utuante disponveis, normalmente o mias prximo. A diferena entre
o resultado exato e o resultado arredondado de uma operao chamado de
erro de arredondamento. O efeito dos erros de arredondamento acumulados
sobre o resultado �nal do mtodo de aproximao chamado de efeito de erro
de arredondamento.
1.5.7 Estudo de caso
interessante ilustrar diferentes tipos de erro mais explicitamente [13]. Su-
ponha que se quer computar f(x) para um dado x real. No clculo prtico
x aproximado por x˜ pois o computador tem uma palavra �nita. A dife-
rena entre x˜ − x o erro inicial, enquanto �1 = f(x˜) − f(x) o erro propa-
gado correspondente. Normalmente f trocado por uma funo mais simples
f1 (freqentemente uma expanso em srie de potncia truncada). A diferena
�2 = f1(x˜)− f(x˜) o erro de truncamento. Os clculos so feitos por um com-
putador, portanto no so operaes exatas. Na realidade calculamos f2(x˜) no
lugar de f1(x˜), o qual um valor calculado errado de uma funo errada com
argumento errado. A diferena �3 = f2(x˜)− f1(x˜) o erro de arredondamento
propagado. O erro total
� = f2(x˜)− f(x) = �1 + �2 + �3.
Exemplo 13 Calcular e1/3 fazendo todos os clculos com 4 decimais. (Obs.
Os clculos foram feitas com uma calculadora)
�1 = e
0.3333 − e1/3 = −0.000465196
ex ≈ f1(x) = 1 + x
1!
+
x2
2!
+
x3
3!
+
x4
4!
para x˜ = 0.3333
�2 = f1(x˜)− f(x˜) = −
(
0.33335
5!
+
0.33336
6!
+ · · ·
)
= −0.0000362750
22 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
f2(x˜) = 1 + 0.3333 + 0.0555 + 0.0062 + 0.0005 = 1.3955
f1(x˜) = 1.3955296304 obtidos com 10 decimais
�3 = −0.0000296304
� = 1.3955− e1/3 = �3 + �3 + �3 = −0.0001124250
1.6 Propagao de erros
Os erros so de�nidos como absoluto e relativo. Se x o nmero exato e x˜ uma
aproximao, ento temos:
Erro absoluto : � = |x− x˜| (1.10)
e
Erro relativo :
∣∣∣ �
x
∣∣∣ = ∣∣∣∣x− x˜x
∣∣∣∣ , (1.11)
Um nmero decimal arredondado na posio n desprezando-se todos os dgi-
tos direita desta posio. O dgito na posio n deixado inalterado ou acrescido
de uma unidade se o dgito da posio n+ 1 um nmero menor que 5 ou maior
que 5. Se o nmero na posio n+1 for igual a 5, o digito na posio n acrescido de
uma unidade se ele for par e deixado inalterado se for impar ( a regra pode
ser o contrrio: o digito na posio n acrescido de uma unidade se ele for impar
e deixado inalterado se for par ) . Frequentemente feito o truncamento para
n decimais onde todos os dgitos alm da posio n so simplesmente desprezados.
Exemplo 14 3.1415926535
Arredondamento:
3.14 (2d)
3.141 (3d)
3.1416 (4d)
3.1415927 (7d)
onde (nd) = nmero de casas decimais.
1.6. PROPAGAO DE ERROS 23
Pode-se dizer de forma simplria que dgitos signi�cativos so aqueles que
tm informao sobre a dimenso do nmero sem contar com a parte exponencial.
Naturalmente um dgito d localizado mais esquerda tem mais informao do
que um mais direita. Quando um nmero escrito com somente seus dgitos
signi�cativos estes formam uma cadeia de smbolos que comea com o primeiro
dgito diferente de zero. Portanto se a parte fracionria termina com um ou
vrios zeros, eles so signi�cativos por de�nio. Se o nmero inteiro e termina
com zeros, somente com o conhecimento da situao que podemos decidir se
eles so signi�cativos ou no. Por exemplo, 8630574 escrito com 4 dgitos sig-
ni�cativos 8630000.
Em muitos casos ns estimamos o erro de uma funo f(x1, x2, . . . , xn) com
erros individuais nas variveis (x1, x2, ..., xn) conhecidos. Ns encontramos
diretamente que
∆f =
∂f
∂x1
∆x1 +
∂f
∂x2
∆x2 + · · ·+ ∂f
∂xn
∆xn (1.12)
onde os termos de ordem superior foram desprezados. O erro mximo dado
por
|∆f | =
∣∣∣∣ ∂f∂x1
∣∣∣∣ |∆x1|+ ∣∣∣∣ ∂f∂x2
∣∣∣∣ |∆x2|+ · · ·+ ∣∣∣∣ ∂f∂xn
∣∣∣∣ |∆xn| (1.13)
O limite superior do erro geralmente bastante pessimista, em computaes
prticas os erros tm uma tendncia a cancelar [13]. Por exemplo, se 20000
nmeros so arredondados com quatro casa decimais e adicionados, o erro
mximo
1
2
× 10−4 × 20000 = 1
O experimento com simulao Monte Carlo abaixo demonstra que
a previso acima pessimista para o cenrio examinado.
Exemplo 15 Clculo de z =
x
y
.
Se x˜ = x+δ e y˜ = y+γ so duas aproximaes para os nmeros exatos x e y.
Calcula-se z =
(
x
y
)
arredondado
=
x˜
y˜
=
x+ δ
y + γ
+ �
ento
z˜ ∼= z + 1
y
· δ − x
y2
· γ + �
24 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
Caso A:
x = 8 δ = 0.009 y = 5 δ = 0.04
x˜ = x+ δ y˜ = y + γ
x
y
= 1.6
x˜
y˜
= 1.589 z +
1
y
· δ − x
y2
· γ + � = 1.589
Caso B:
x = 8 δ = −0.07 y = 5 δ = 0.08
x˜ = x+ δ y˜ = y + γ
x
y
= 1.6
x˜
y˜
= 1.561 z +
1
y
· δ − x
y2
· γ + � = 1.56
O erro em z˜ constitudo dos erros propagados de x e y acrescido de um
novo erro de arredondamento.
1.6.1 Cancelamento numrico
Devido ao comprimento limitado das palavras em computadores, e em con-
seqncia do uso da aritmtica do ponto-�utuante com representao normalizada,
as leis da aritmtica elementar no so satisfeitas. Os efeitos do uso da aritmtica
do ponto-�utuante sero vistos em alguns exemplos que seguem.
Os exemplos a seguir violam a lei associativa da adio:
Exemplo 16 (usando-se uma mquina com quatro dgitos decimais na man-
tissa da representao)
x = 9.909 y = 1.000 z = −0.990
(x+ y) + z = 10.90 + (−0.990) = 9.910
x+ (y + z) = 9.909 + (0.010) = 9.919
1.6. PROPAGAO DE ERROS 25
Exemplo 17 (usando-se uma mquina com quatro dgitos decimais na man-
tissa da representao)
x = 4561 y = 0.3472
(y + x)− x = (−0.3472 + 4561)− 4561 = 4561− 4561 = 0.0000
y + (x− x) = 0.3472 + (4561− 4561) = 0.3472 + 0.0000 = 0.3472
Vejamos agora um exemplo (usando-se uma mquina com quatro dgitos
decimais na mantissa da representao) que viola a lei distributiva.
Exemplo 18 x = 9909 y = −1.000 z = 0.999
(x× y) + (x× z) = −9909 + 9899 = −10.00
x× (y + z) = 9909× (−0.0001) = −9, 909
Exemplo 19 A equao do segundo grau x2 − b· x+ � = 0 tem duas solues:
x1 =
b+
√
b2 − 4�
2
e x2 =
b−√b2 − 4�
2
Se b < 0 e � << b , x2 expresso como a diferena de dois nmeros prati-
camente iguais e poder perder muitos dgitos signi�cativos.
Se x2 for reescrito como:
x2 =
�
x1
=
2�
b+
√
b2 − 4�
a raiz aproximadamente
�
b
sem perda de dgitos signi�cativos.
Usando-se uma mquina com quatro dgitos decimais na mantissa da repre-
sentao:
b = 300.0 e � = 1.000√
90000− 4.000 = 300.0
x1 =
600.0
2.000
= 300.0
x2 =
300.0− 300.0
2.000
=
0.0000
2.000
= 0.0000
usando a relao x2 =
�
x1
=
1.000
300.0
= 0.0033 um resultado mais preciso.
26 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
Exemplo 20 Sabe-se que para x grande senh(x) ∼= cosh(x) ∼= e
x
2
. Se qui-
sermos calcular e−x podemos dizer que e−x = cosh(x)− senh(x), o que con-
duz a um cancelamento perigoso. Por outro lado e−x =
1
cosh(x) + senh(x)
fornece resultados mais precisos.
1.6.2 Aritmtica intervalar
O clculo de erro de arredondamento estimado por aproximao de primeira
ordem, descrito no �nal da indroduo da seo 1.6 acima, so inviveis para serem
utilizados em mtodos numricos tpicos onde o nmero de operaes aritmticas
muito grande para permitir uma estimativa satisfatria do efeito total de to-
dos os erros de arredondamentos.
A aritmtica intervalar uma alternativa para determinar limites para o
erro absoluto de um algoritmo, considerando todos erros de dados e arredon-
damento. A aritmtica intervalar faz clculos sistemticos atravs de intervalos
[x] = [x, x] limitados de nmeros de mquinas x, x ∈ F, em vez de nmeros
reais simples x. As operaes aritmticas +, −, ×, ÷ so de�nidas atravs de
intervalos. Algoritmos intervalares so implementados em computadores pro-
duzindo resultados intervalares garantidos conterem a soluo desejada.
A aritmtica intervalar deve ser usada com bastante senso crtico, caso
contrrio os resultados con�veis de limites de erro sero, na maioria das vezes,
muito pessimsticos.
Exemplo 21 Calcule y = x3 − 3x2 + 3x para [x] = [0.9, 1.1] ?
Pelo esquema de Horner
y = ((x− 3)x+ 3)x
[y] = [0.6209, 1.4191] (muito largo)
usando
y = 1 + (x− 3)3
[y] = [0.9989, 1.0011] (resultado o´timo)
Para o sucesso da aplicao da aritmtica intervalar necessrio desenvolver
novos algoritmos que produzam limites de erros aceitveis. Um tratamento
mais profundo da aritmtica intervalar pode ser visto em Moore [5], Alefeld
[6] e Kulish [7] (para incluso dos arredondamentos direcionados da aritmtica
de ponto �utuante).
1.6.3 Estimativa estatstica de erros de arredondamento
Para obteno de estimativas estatsticas de erros de arredondamento relativo
(ver Rademacher [8]) que causado por uma operao elementar, seus resultados
1.6. PROPAGAO DE ERROS 27
so considerados uma varivel aleatria no intervalo [−eps, eps] onde |�| ≤ eps .
Alem disso assume-se que os erros de arredondamento atribudos as operaes
diferentes so variveis independentes. Por µ� e σ
2
� denota-se o valor esperado
e varincia da distribuio do arredondamento. Eles satisfazem as seguintes
relaes gerais
σ2� = E(�− E(�))2 = E(�2)− ((E(�))2 = µ�2 − µ2�
Assumindo uma distribuio uniforme no intervalo [−eps, /eps], obtm-se
µ� := E(�) = 0, σ
2
� = E(�
2) =
1
2 eps
∫ eps
−eps
t2dt =
1
3
eps2 =: �−2 (1.14)
Exames rigorosos mostram que a distribuio de arredondamento no muito
uniforme (ver Sterbenz [9]). Deve-se ter em mente que o padro ideal do erro
de arredondamento somente uma aproximao do padro observado em clculos
computacionais, assim os as estimativas de µ� e σ
2
� devem ser determinadas
empiricamente. Os resultados x dos algoritmos estando sujeitos a erros de
arredondamento aleatrios tornam-se variareis aleatrias com valor esperado
µx e varincia σ
2
x satisfazendo a mesma relao bsica
σ2x = E(x− E(x))2 = E(x2)− ((E(x))2 = µx2 − µ2x
Os efeitos da propagao de erros de arredondamento das operaes elementa-
res so descritas pelas seguintes frmulas para variveis aleatrias independentes
x, y e constantes α, β ∈ R:
µαx±βy = E(αx± βy) = αE(x)± βE(y) = αµx ± βµy
σ2αx±βy = E((αx± βy)2)− (E(αx± βy))2
= α2E(x− E(x))2 + β2E(y − E(y))2 = α2σ2x + β2σ2y
(1.15)
A primeira frmula acima resulta da linearidade do valor esperado. Ela
valida para variveis aleatrias x, y. A segunda frmula segue da relao E(xy) =
E(x) · E(y), que satisfeita se x e y so independentes. Assim
µx×y = E(x× y) = E(x)E(y) = µxµy
σ2x×y = E(x× y − E(x)E(y))2 = µx2µy2 − µ2xµ2y
= σ2xσ
2
y + µ
2
xσ
2
y + µ
2
yσ
2
x
(1.16)
Alem disso os valores esperados µx so trocados por valores estimados x
e varincias relativas �2x = σ
2
x/µ
2
x ≈ σ2x/x2 so considerados, ento de (1.15) e
(1.16):
z = x+ y ou z = x− y : �2z =˙ (xz )2�2x + (yz )2�2y + �¯2
z = x× y ou z = x÷ y : �2z =˙ �2x + �2y + �¯2
28 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
Os limites de erros para o resultado �nal r de uma computao numrica
so obtidos da varincia relativa �2r , assumindo que o erro �nal tem distribuio
normal. Esta suposio justi�cada uma vez as distribuies dos erros propagados
tendem a ser normal se sujeitas as muitas operaes elementares. Supondo o
resultado �nal ser normal, o erro relativo do resultado �nal r limitado com
probabilidade 0.9 por 2�r
1.7 Padronizao do sistema de nmeros de ponto �u-
tuante
Padres internacionais so desenvolvidos pelo ISO (International Standardization
Organization) com suas organizaes nacionais a�liadas de padronizao (ABNT
- Associao Brasileira de Normas Tcnicas) . Um caso especial o campo da
engenharia eltrica e eletrnica, na qual os padres so desenvolvidos pela IEC
(International Electrotecnical Commission).
Nos anos 70 tentou-se desenvolver padres para a aritmtica de ponto �utu-
ante binria para microcomputadores. Um dos principais objetivos era tornar
programas mias portveis para que tcnicas de programao particulares usadas
para tratar erros de arredondamento excees (e.g. , over�ow de expoentes)
fossem efetivas para arquiteturas de computadores diferentes.
Aps lenta negociao, a sociedade americana de computadores IEEE (Ins-
titute of Electrical and Eletronics Engineers) adota o padro IEE 754-1985,
o padro para a aritmtica de ponto �utuante binria (abreviadamente IEEE-
754). Em 1984 o IEC decide considerar este padro nacional um padro in-
ternacional , IEC 559:1989 da aritmtica de ponto �utuante para sistemas
de microcomputadores. O padro relacionado IEEE 854-1987 generaliza 754
para cobrir tanto decimal como binrio.
Padro IEEE 754 ponto �utuante a representao mais comum hoje em dia
para os nmeros reais em computadores, incluindo PC com processador Intel,
Macintoshes e a maioria das plataformas Unix.
1.7.1 O que so os nmeros em ponto �utuante?
Existem vrias maneiras de representar nmeros reais em computadores. A re-
presentao do ponto �xo coloca um ponto (potncia) em algum lugar no meio
dos dgitos, e equivalente ao uso de nmeros inteiros que representam partes
de unidades. Por exemplo, pode representar um centsimo (1/100) de uma
unidade, com quatro dgitos decimais, pode-se representar 32.45 ou 00.03.
Outra possibilidade usar racionais e representar cada nmero como a razo
entre dois inteiros.
1.7. PADRONIZAODO SISTEMADE NMEROS DE PONTO FLUTUANTE29
A representao de ponto �utuante - a soluo mais usual - basicamente re-
presenta reais em notao cient�ca. A notao cient�ca representa os nmeros
como um nmero de base e um expoente. Por exemplo, 123.123 pode ser
representado como 1.23123× 102. Em hexadecimal, o 123.FAC nmero pode
ser representado como 1.23FAC× 162.
A representao de ponto �utuante resolve alguns problemas de represen-
tao. O Ponto �xo tem uma janela �xa de representao, o que limita de repre-
sentar nmeros muito grandes ou muito pequenos. O ponto�xo propenso a
uma perda de preciso quando dois grandes nmeros so divididos.
A representao de ponto �utuante emprega uma �janela deslizante� de
preciso adequada escala do nmero. Isso permite que ele represente nmeros
de 0, 0000000000000001 e 1.000.000.000.000 com facilidade.
1.7.2 Esquema de armazenamento
Os nmeros de ponto �utuante IEEE tem trs componentes bsicos: o sinal,
o expoente e a mantissa. A mantissa composta por frao e um dgito lder
implcito (explicado abaixo). A base do expoente (2) implcita e no precisa
ser armazenado.
A tabela a seguir mostra os esquemas de armazenamento de preciso sim-
ples (32 bits) e preciso dupla (64 bits)s de ponto �utuante. O nmero de bits
para cada campo so mostradas (intervalo dos bits esto entre colchetes):
Preciso Sinal Expoente Frao Deslocamento
Simples 1 [0] 8 [1-8] 23 [9-31] 127
Dupla 1 [0] 11 [1-11] 52 [12-63] 1023
Gra�camente:
0 1 8 9 31
sinal caracterstica mantissa
e
0 1 11 12 63
sinal caracterstica mantissa
30 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
O bit de sinal
O bit de sinal simples: 0 denota um nmero positivo; 1 denota um nmero
negativo. Invertendo-se o valor deste bit inverte o sinal do nmero.
O expoente
O campo de expoente precisa representar expoentes positivos e negativos.
Para fazer isso, um deslocamento adicionado ao verdadeiro expoente, a �m
de se obter o expoente de armazenamento. Para IEEE de preciso simples,
este valor de 127. Assim, um expoente zero signi�ca que 127 armazenado
no campo de expoente. Um valor armazenado de 150 indica um expoente de
(150-127), ou 23. Por razes apresentadas mais tarde,os expoentes de −127
(todos bits 0's) e 128 (todos bits 1's) so reservados para nmeros especiais.
Para preciso dupla, o campo de expoente tem 11 bits e um deslocamento de
1023.
A mantissa
A mantissa, tambm conhecida como o signi�cando, representa os bits de pre-
ciso do nmero. composto de um bit implcito e os bits da frao.
Para saber o valor do bit lder implcito, considerar que qualquer nmero
pode ser expresso em notao de ponto �utuante de muitas maneiras diferentes.
Por exemplo, o nmero 4957 pode ser representado por qualquer uma dessas:
4957× 100
0.4957× 104
4.957× 103
0.004957× 106
Para maximizar a quantidade de nmeros representveis, os nmeros de
ponto �utuante so normalmente armazenados na forma normalizada. Na
forma normalizada 4957 representado como 4.957× 103.
Uma otimizao pequena e agradvel est disponvel na base dois, j que a
nica forma possvel do dgito zero 1. Pode-se supor apenas um dgito de 1, e
no precisa-se represent-lo explicitamente. Como resultado, a mantissa tem
efetivamente 24 bits de resoluo com frao de 23 bits.
Ressumindo:
1. O bit de sinal 0 para positivo, 1 para o negativo.
2. A base do expoente dois.
1.7. PADRONIZAODO SISTEMADE NMEROS DE PONTO FLUTUANTE31
3. O campo de expoente contm 127 mais o verdadeiro expoente de preciso
simples ou 1023 mais verdadeiro para o expoente de preciso dupla.
4. O primeiro bit da mantissa geralmente assumida como 1.f , onde f o
campo frao de bits.
Intervalo de nmeros de ponto �utuante
O intervalo de nmeros positivos de ponto �utuante podem ser divididos em
nmeros normalizados (que preserva toda a preciso da mantissa), e os nmeros
desnormalizados (discutido mais tarde) que usam apenas uma poro de preciso
da mantissa.
• Nmeros positivos normalizados so de�nidos dentro da faixa de:
2(1−deslocamento) at (2− 2−precisa˜o)× 2deslocamento.
• Nmeros negativos normalizados so de�nidos dentro da faixa de:
−2(1−deslocamento) at −(2− 2−precisa˜o)× 2deslocamento.
• Nmeros positivos normalizados superiores (2−2−precisa˜o)×2deslocamento
e
nmeros negativos normalizados inferiores−(2−2−precisa˜o)×2deslocamento
so transbordados (over�ows).
• Nmeros positivos normalizados menores que 2(1−deslocamento) e
nmeros negativos normalizados maiores que −21−deslocamento so insu�-
cientes (under�ows).
Preciso Desnormalizados Normalizados
Simples
±2−149 ≈ ±10−44.85 ate´
(1− 2−23)× 2126 ≈ 1037.93
±2−126 ≈ ±10−37.93 ate´
(2− 2−23)× 2127 ≈ 1038.53
Dupla
±2−1074 ≈ ±10−323.31 ate´
(1− 2−52)× 21022 ≈ 10307.65
±2−1022 ≈ ±10−307.65 ate´
(2− 2−52)× 21023 ≈ 10308.25
Dado que o sinal dos nmeros de ponto �utuante dado por um bit lder
especial, o intervalo de nmeros negativos dado pela negao dos valores acima.
H cinco diferentes intervalos numricos que a preciso simples de nmeros
de ponto �utuante no so capazes de representar:
• Nmeros negativos menores do que −(2− 2−23)× 2127. (over�ow nega-
tivo)
• Nmeros negativos maiores do que −2−149. (under�ow negativo)
• Zero.
32 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
• Nmeros positivos menores do que 2−149. (under�ow positivo)
• Nmeros positivos superiores (2− 2−23)× 2127. (over�ow positivo)
Over�ow signi�ca que os valores so muito grande para a representao, e
assim, da mesma forma que os inteiros podem transbordar. Under�ow um
problema menos grave, porque ele apenas denota uma perda de preciso, que
garantido ser muito prximo de zero.
Segue uma tabela com o intervalo efetivo (excluindo valores in�nitos) de
nmeros IEEE de ponto �utuante:
Preciso Binrio Decimal
Simples ±(2− 2−23)× 2127 ≈ ±1038.53
Dupla ±(2− 2−52)× 21023 ≈ ±10308.25
Observao 3 Note-se que os valores extremos ocorrem (independentemente
do sinal), quando o expoente o valor mximo para os nmeros �nitos (2127
para preciso simples, 21023 para o dupla), e, a mantissa est completa de 1's
(incluindo 1 bit da normalizao).
1.7.3 Valores Especiais
IEEE reserva valores do campo expoente com todos 0's e 1's para representar
todos os valores especiais no sistema de ponto �utuante.
Zero
Como mencionado acima, o zero no diretamente representvel no formato
direto, devido suposio de um 1 esquerda (que seria preciso especi�car numa
mantissa zero real para produzir o valor de zero). Zero um valor especial
denotado com um campo de expoente zero e um campo de mantissa zero.
Observe que −0 e 0 so valores distintos, embora ambos so comparados como
iguais.
Desnormalizados
Se o expoente todo de 0's, mas a mantissa for diferente de zero (o que poderia
ser interpretado como zero), ento o valor um nmero desnormalizado, que
no tem um lder assumido 1 antes do ponto binrio. Portanto representa um
nmero (−1)s × 0.m × 2−126, onde s o bit de sinal e m a mantissa. Para
preciso dupla, desnormalizada nmeros so da forma (−1)s × 0.m × 2−1022.
A partir disto se pode interpretar o zero como um tipo especial de nmero
desnormalizado.
1.7. PADRONIZAODO SISTEMADE NMEROS DE PONTO FLUTUANTE33
In�nito
Os valores (+)in�nito (+∞) e (-)in�nito (−∞), so indicados com um expo-
ente de 1's e uma mantissa de 0's. O bit de sinal faz a distino entre in�nito
positivo e in�nito negativo. Ser capaz de denotar o in�nito como um valor
espec�co til porque permite as operaes para tratar de situaes de estouro
(over�ow). As operaes com valores in�nitos so bem de�nidas no IEEE de
ponto �utuante.
No um nmero
O valor NaN (Not a Number) usado para representar um valor que no repre-
senta um nmero real. NaN so representados por um padro de bits com um
expoente de 1's e uma mantissa diferente de zero. Existem duas categorias
de NaN: QNaN (Quiet NaN) e SNaN (Sinalizao NaN).
A QNaN um NaN com o conjunto mais signi�cativo de bits na mantissa.
QNaN propaga livremente atravs da maioria das operaes aritmticas. Estes
valores saltam de uma operao quando o resultado no de�nido matematica-
mente.
Um SNaN um NaN com o bit mais signi�cativo da mantissa limpa. Ela
usada para sinalizar uma exceo quando utilizado em operaes. SNaN pode ser
til para atribuir a variveis no inicializadas como armadilha de uso prematuro.
Semanticamente, QNaN denotam operaes indeterminadas, enquanto SNaN
denotam operaes invlidas.
1.7.4 Parmetrosde um sistema de nmero de ponto-�utuante
A notao de um sistema de ponto �utuante
F(β, t, m, M, dnorm)
Quatro parmetros e um valor booleano:
1. Base: β ≥ 2
2. Preciso: t ≥ 2
3. menor expoente: m < 0
4. maior expoente: M > 0
5. indicador de normalizao: dnorm ∈ booleano
34 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
dnorm
= true caso o sistema contenha
nmeros denormalizados (sub-normal)
= false para o sistema normalizado
caracterizam cada sistema de nmeros IEEE/IEC
A notao de um sistema de ponto �utuante F(β, t, m, M, dnorm) satis-
faz as seguintes relaes
F(b, p, emin, emax, true) = FN (b, p, emin, emax) ∪ FD(b, p, emin, emax)
F(b, p, emin, emax, false) = FN (b, p, emin, emax).
Exemplo 22 (Intel) De acordo com a norma IEC/IEEE os sistemas de nu-
merao utilizados nos microprocessadores Intel so F(2, 24,−125, 128, true) e
F(2, 53,−1021, 1024, true) para preciso simples e preciso dupla. Micropro-
cessadores Intel tm preciso estendida F(2, 64,−16381, 16384, true).
Exemplo 23 (IBM System/390) Fornece trs sistemas de numerao hexa-
decimal F(16, 6,−64, 63, false) para short precision, F(16, 14,−64, 63, false)
para long precision e F(16, 28,−64, 63, false) para extended precison.
Exemplo 24 (Cray) Fornece dois sistemas de numerao F(2, 48,−16384 , 8191, false)
e F(2, 96,−16384, 8191, false).
Exemplo 25 (Calculadoras) Calculadoras cienti�cas so normalmente for-
necidas com um nico sistema de numerao F(10, 10,−98, 100, false). Algu-
mas trabalham com maior preciso interna enquanto exibem somente dez casas
decimais.
Exemplo 26 Sabemos que os nmeros reais podem ser representados por uma
reta contnua. Entretanto, em ponto �utuante podemos representar apenas
pontos discretos da reta real. Para ilustrar este fato consideremos o seguinte
exemplo.
Quantos e quais nmeros podem ser representados no sistema FN (2, 3, 1, 2)?
Soluo: Temos que β = 2 ento os dgitos podem ser 0 ou 1; m = 1 e M =
2 ento −1 ≤ k ≤ 2 e t = 3. Ento os nmeros so da forma:
±0.m1m2m3 × βk.
Tem-se duas possibilidades para o sinal, uma possibilidade para m1, duas
para m2 , duas para m3 e quatro para as formas de β
k
. Fazendo o produto
2 · 1 · 2 · 2 · 4 obtm-se 32. Portanto neste sistema pode-se representar 33
1.7. PADRONIZAODO SISTEMADE NMEROS DE PONTO FLUTUANTE35
nmeros visto que o zero faz parte de qualquer sistema. Para responder quais
so os nmeros lista-se as formas da mantissa: 0.100, 0.101, 0.110 e 0.111 e
as formas de βk so: 2−1, 20, 21 e 22. Tem-se ento os seguintes nmeros:
0.100(2) ×

2−1
20
21
22
 =

0.25(10)
0.5(10)
1.0(10)
2.0(10)

desde que 0.100(2) = 0.5(10);
0.101(2) ×

2−1
20
21
22
 =

0.3125(10)
0.625(10)
1.25(10)
2.5(10)

desde que 0.101(2) = 0.625(10);
0.110(2) ×

2−1
20
21
22
 =

0.375(10)
0.75(10)
1.5(10)
3.0(10)

desde que 0.110(2) = 0.75(10);
0.111(2) ×

2−1
20
21
22
 =

0.4375(10)
0.875(10)
1.75(10)
3.5(10)

desde que 0.111(2) = 0.875(10);
Exemplo 27 Considerando o mesmo sistema do exemplo 26, represente os
nmeros: x1 = 0.48, x2 = 4.8 e x3 = 0.18 dados na base 10.
Soluo: Fazendo os clculos obtemos que: 0.4810 = 0.111 × 2−1, 4.810 =
0.100× 23 e 0.1310 = 0.100× 2−2. Apenas o primeiro nmero pode ser repre-
sentado no sistema, pois para o segundo teremos over�ow e para o terceiro
under�ow. Observe que o nmero 0.4810 tem no sistema dado, a mesma
representao que o nmero 0.4375(10).
36 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
1.8 Programas de preciso mltipla
Em certas aplicaes o sistema de ponto �utuante fornecido pelo computador
tem preciso ou intervalo insu�ciente. Se os clculos so feitos em preciso sim-
ples, ento se usa preciso dupla para tentar remediar di�culdades e, se ainda
assim, a preciso dupla insu�ciente, tenta-se a preciso estendida. Contudo
esta estratgia prejudica a portabilidade dos programas, pois poucos sistemas
de computadores fornecem mais que dois nveis de preciso. Alm disso, esta
estratgia de uso limitado: existem raramente quatro nveis, ento o nvel de
preciso pode no ser adaptado aos requisitos de uma aplicao particular. Uma
soluo o uso de um software de preciso mltipla (Maple, Matlab, etc.) , que
permite aumentar a preciso independente da arquitetura.
Estes softwares permitem uma escolha �exvel da preciso e/ou intervalo
necessrio dos nmeros de ponto �utuante. A desvantagem mais sria das im-
plementaes de sistemas de numerao via software comparada a hardware o
tempo de processamento (crescimento em tempo de execuo por um fator >
100 [10]
1.9 A in�uncia da aritmtica do ponto �utuante
Os problemas com o uso da aritmtica de ponto �utuante so fartamente dis-
cutido na literatura, o artigo [11] clssico. A seguir veremos alguns casos
selecionados.
Para resolver um sistema de equaes na linear, a funo f : Rn → Rn deve ser
implementada na forma de um (sub)programa. Ento os zeros da implementao
f˜ : Fn → Fn so determinados, em vez da funo matematicamente de�nida f .
O termo zero perde seu signi�cado comum mesmo no caso de funes de uma
varivel (n = 1) porque a equao
f˜(x) = 0 com f˜ : F→ F
pode ter vrias solues (zeros) ou nenhuma soluo na vizinhana de um zero
isolado da funo original.
Exemplo 28 (zeros no encontados[12], pag. 279)
A funo
f(x) = 3x2 +
1
pi4
ln(pi − x)2 + 1 (1.17)
Tem duas razes no intervalo [3.14, 3.15]; �1 ∈ [3.14, pi] e �2 ∈ [pi, 3.15].
Estes zeros no podem ser determinados numericamente, desde que
f(x) > 0
Para todo x ∈ F(2, 53,−1021, 1024, true) para a qual 1.17 pode se calculado.
Os dois zeros de f ,
1.9. A INFLUNCIA DA ARITMTICA DO PONTO FLUTUANTE 37
Figura 1.1: Planilha do software matemtico Mathcad usada para traar o gr-
�co da funo f(x) = 3x2+ 1
pi4
ln(pi−x)2+1. A funo no tem zeros quando cal-
culada numericamente com F(2, 53,−1021, 1024, true) (analiticamente tem
dois)
x∗1 ≈ pi − 10−647 e x∗2 ≈ pi + 10−647
esto localizados muito prximos de pi, e f(x) ≤ 0 valido somente no intervalo
localizado entre dois nmeros de mquina. A implementao f˜ : F→ F no possui
zeros (ver �gura 1.1).
Exemplo 29 (grande nmero de zeros [12], pag. 279 )
O polinmio
P7(x) = x
7 − 7x6 + 21x5 − 35x4 + 35x3 − 21x2 + 7x− 1 =
= ((((((x− 7) + 21)x− 35)x+ 35)x− 21)x+ 7)x− 1 = (x− 1)7
tem somente um zero em x∗ = 1. A implementao de P˜7 : F → F usando
o esquema de Horner tem milhares de zeros na vizinhana de x = 1 [cl-
culo com F(2, 24,−125, 128, true), i.e., com uma aritmtica de preciso sim-
ples IEC/IEEE]; para x > 1 existem milhares de pontos com valores P˜7 < 0,
embora P˜7 > 0 nesta regio e, similarmente, para x < 1 existem milhares de
pontos com valores P˜7 > 0, embora P˜7 < 0 nesta regio. A fenmeno do Caos
surge do cancelamento dos dgitos mais signi�cativos (ver �gura 4.10 e 4.11
[1], pag 145).
38 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
Figura 1.2: Software matemtico Mathcad usado na soluo do sistema linear
Exemplo 30 (soluo do sistema linear inspirado em [12], pag. 233)
A =

8 3 0
7 8 3
7 8 3
. . .
. . .
7 8 3
0 7 8

e b =

11
18
18
.
.
18
15

A �gura 1.2 mostra uma planilha Mathcad para resoluo do sistema linear
A · x = b. Embora o residual seja praticamente zero para todos as compo-
nentes do vetor soluo, temos um resultado numericamente insatisfatrio:
x =

1
1
1
·
·
1
1

= soluo EXATA !
Obs. A funo verifylss doMatlab Intlab toolbox produziu os resultados
de acordo.
Exemplo 31 (avaliao de funo)
1.9. A INFLUNCIA DA ARITMTICA DO PONTO FLUTUANTE 39
Figura 1.3: Software matemtico Maple usado na avaliao da funo f(x, y) =
333.75 ∗ y6 + x2 ∗ (11 ∗ x2 ∗ y2 − y6 − 121 ∗ y4 − 2) + 5.5 ∗ y8 + x/(2 ∗ y)
Abaixovamos avaliar a funo f(x, y) = 333.75 ∗ y6 + x2 ∗ (11 ∗ x2 ∗ y2 −
y6− 121 ∗ y4− 2)+ 5.5 ∗ y8 + x/(2 ∗ y) usando o Maple com preciso variada.
A �gura 1.3 mostra a planilha Maple onde s a partir de 37 dgitos que os
resultados apresentados so numericamente vlidos.
40 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
1.10 Exerccios Propostos
1) Converta os seguintes nmeros decimais para sua forma binria:
a) 35 b) 2345 c) 0.1218 d) 67.67 e) 95 f) 2500
g) 2000 h) 655 i) 722 j) 3.6× 1021 l) 231 m) 2.5× 10−18
2) Converta os nmeros binrios para suas formas octal, hexadecimal e de-
cimal:
a) 1011012 b) −1101010112 c) −0.11012
d) 0.1111111012 e) 0.00001012 f) 101012
g) −111010110112 h) −0.11000012 i) 0.1011001111012
j) 0.0011001012
3) Reescreva os nmeros seguintes na representao do ponto-�utuante nor-
malizada:
a) 27.534 b) −89.901 c) 18× 1021 d) 1.3756× 10−7
e) 11.01112 f) −111.01012 g) 0.001012 h) 1110101012
4) Seja o nmero seguinte em ponto-�utuante num computador de 32 bits:
0010.0101.0000.0001.0001.1001.1100.1110
Se o primeiro bit o sinal do nmero, os oito seguintes a caracterstica ob-
tida com adio de 128 ao expoente do nmero ponto-�utuante, e os 23 restantes
so a mantissa, responda s questes seguintes:
a) O nmero est normalizado? Se no o normalize.
b) Qual o sinal do nmero?
c) O valor absoluto do nmero menor que 1?
5) Repita a questo 4 com o nmero:
1000.0000.0110.1101.1010.1101.1011.0110
6) Para a representao da questo 4, quais so aproximadamente o maior e
o menor nmero, o menor nmero positivo e o prximo menor nmero positivo.
7) Represente os nmeros binrios da questo 2 na maquina binria que uti-
liza o seguinte esquema de representao de ponto-�utuante:
↘ ↘ ↘
1.10. EXERCCIOS PROPOSTOS 41
sinal mantissa caracterstica
a) o bit de sinal codi�cado 0 se o nmero positivo e 1 se o nmero negativo.
b) a caracterstica obtida com adio de 128 ao expoente do nmero ponto-
�utuante.
8) Converter para base 10 os valores representados na mquina binria da
questo 7) acima:
a)
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
b)
0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1
9) Seja um sistema de aritmtica de ponto-�utuante na base decimal com
quatro dgitos na mantissa e dois na caracterstica, 1 digito de sinal da man-
tissa e 1 digito sinal da caracterstica.
↓ mantissa ↓ expoente
sinal sinal
da mantissa do expoente
O sinal codi�cado (+) se o nmero positivo e (-) se o nmero negativo.
Dados os nmeros:
x = 0.77237 y = 0.2145× 10−3 z = 0.2585× 101
Efetue as seguintes operaes:
a) x+ y + z b) x− y − z c) x/y d) (xy)/z e) x(y/z)
10) Use a aritmtica do ponto-�utuante, com a representao da questo 9
acima, para somar e subtrair os seguintes pares de nmeros:
a) 5.414234 e 2.27531 b) 5.414234 e 22.7531
c) 54.67 e 0.328 d) 5.4× 10−8 e 3.14× 10−5
11) Use a aritmtica do ponto-�utuante, com a representao da questo 9
acima, para realizar as operaes aritmticas seguintes:
a) 3.14× 7.47 b) 75.81× 8.15 c) 1.35÷ 28.5 d) 4000÷ 150
42 CAPÍTULO 1. ERROS EM COMPUTAES NUMRICAS
12) Calcular as cotas dos erros absolutos e relativos que se comete ao se
tomar como valores de:
a) 22/7 b) 333/116 c) 355/113 d)
√
3 +
√
2
13) Ao se calcular cos(x) ∼= 1− x
2
2!
− x
4
4!
− x
6
6!
para x = 5/7, quais so os
erros: inicial, de truncamento, de arredondamento e total cometidos quando
se realiza os clculos arredondados em duas casas decimais.
Bibliogra�a
[1] C.W. Ueberhuber: Numerical Computation: Methods, software and
analysis. Springer Berlin Heidelberg (1997) Vol. 1 474 pages
[2] J. Stoer, R. Bulirsh: Introduction to Numerical analysis. 2nd ed.
Springer-Verlag, Berlin Heidelberg New York Tokio (1993)
[3] J.F. Traub, H. Wozniakowski: On the Optimal Solution of Large Linear
Systems. J. Assoc. Comp. Mach. 31 (1984), pp. 545-559.
[4] R.W. Hamming, E.A. Feigenbaum Introduction to applied numerical
analysis. McGraw-Hill, Inc New York (1971)
[5] R.E. Moore: Interval Analysis. Prentice Hall, Englewood Clifs, NJ, USA
(1966)
[6] G. Alefeld, J. Herzberger: Introduction to Interval Computations. Aca-
demic Press, New (1966)
[7] U.W. Kulish and W.L. Miranker: The Arithmetic of the Digital Com-
puters: A New Approach. SIAM Review 28, 1 (1986)
[8] Rademacher, H, A.: On the accumulation of errors in processes of inte-
gration on higg-speed calculating machines. Procedings of a symposium
on large-scale digital calculating machinary. Annals Comp. Labor. Ha-
vard Univ. 16 (1948) pp 176-185
[9] Sterbenz, P.H.: Floating Point Computation. Prentice Hall, Englewood
Clifs, NJ, USA (1974)
[10] Bailey, D.H.: MPFUN - A portable High Performance Multiprecision
Package. NASA Ames Tech. Report RUR-90-022, (1990)
[11] Goldeberg, D: What Every Computer Scientist Should Know About
Floating-Point Arithimethic. ACM Computing Surveys, 23 (1991) pp
5-48
[12] C.W. Ueberhuber: Numerical Computation: Methods, software and
analysis. Springer Berlin Heidelberg (1997) Vol. 2 495 pages
43
44 BIBLIOGRAFIA
[13] Frberg, C-E.: Introduction to numerical analysis. 2nd ed. Addison-
Wesley Pub. Co. , Reading, Mass, , 1965
[14] Sli, E and Mayers, D. F.: An Introduction to Numerical Analysis. Cam-
bridge University Press, 2003
[15] Conte, S.D. and Boor, C.: Elementary Numerical Analysis: An algo-
rithmic approach. 3rd ed. McGraw-Hill Book Company, New York, 1980

Outros materiais