You are on page 1of 4

PONTIFCIA UNIVERSIDADE CATLICA DE GOIS

CLCULO NUMRICO PROF.: PATRCIA TAVARES ___________________________________________________________


NOTAO DE PONTO FLUTUANTE E ARREDONDAMENTO INTRODUO A ORIGEM DOS ERROS Ao efetuarmos operaes matemticas, mesmo que com nmeros naturais ou inteiros, devemos considerar que nem sempre obtemos resultados exatos, assim temos de interpretar nmeros que so finitos, mas que possuem representao infinita. Por exemplo, a diviso de 1 por 3 finita (est entre 0 e 1), todavia possui representao no conjunto do nmeros reais com infinitas casas decimais (0,3333...). Alm disso, lidamos tambm com nmeros que no podem ser expressos como a diviso de dois nmeros inteiros, so os chamados nmeros irracionais, o que acarreta em chegarmos a apenas uma representao aproximada do nmero em questo. Com a evoluo das tecnologias para fins computacionais, os clculos complexos ficaram a cargo de mquinas que esto sendo sempre aperfeioadas a fim de aumentar seus recursos. As mquinas operam diversos clculos, dos mais simples aos mais complexos, porm por mais complexas que sejam, trabalham com um nmero finito de recursos, o que no suficiente quando lidamos com nmeros de infinitos dgitos. Assim, qualquer clculo, seja realizado por mos humanas ou por mquinas, que envolva nmeros que no possam ser expressos por um nmero finito de dgitos, no fornecer como resultado um valor exato, mas sim um valor aproximado; e, quanto maior o nmero de dgitos utilizados, maior ser a preciso obtida. por isso que precisamos aprender a lidar com os erros, ou melhor, com a margem de erro. Vejamos dois exemplos Exemplo 1: A primeira grande crise matemtica de que se tem conhecimento foi quando os pitagricos se depararam com o problema da diagonal de um quadrado. Sabemos que a diagonal de um quadrado de lado L qualquer calculada pela expresso L 2 . O nmero irracional 2 um nmero que no pode ser representado, em sua forma decimal, com um nmero finito de dgitos. Assim, qualquer operao que o envolva estar sujeita a aproximaes para sua representao, como por exemplo: 1,4142 ou 1,4142136 ou ainda 1,4142135623730950488016887242097. 2 Por exemplo, na trigonometria, o arco de valor possui seno igual a , o que nos permite
4
2

1 3

infinitas representaes, remetendo-nos a resultados prximos do exato, mas que no so verdadeiramente exatos:
2 0,7 ; 2 2 0,7071 ; 2 2 0,7071067811865 . 2

A = r 2 . Neste caso, para uma circunferncia de raio igual a 10m poderemos obter como rea: A = 314m 2 ;
A = 314,1592653m 2 ;

Exemplo 2: A rea A de uma circunferncia, de raio

r , obtida atravs do clculo da frmula

A = 314,159265358979323846m 2 .

Como um nmero irracional no teremos um valor exato para o clculo da rea, mas sim valores aproximados. No primeiro clculo utilizamos 3,14 (trs algarismos significativos para ) e no segundo clculo, utilizamos 3,141592653 (dez algarismos significativos) e no terceiro 3,1415926535897932384 (vinte algarismos significativos). Nenhum dos resultados est incorreto, porm o terceiro est mais preciso que o segundo, por sua vez est mais preciso que o primeiro, assim quanto maior o nmero de dgitos utilizados nos clculos, maior a preciso do nmero, ou seja, mais prximo estamos da representao real do nmero. As diferenas entre resultados para uma mesma operao podem ser consequncia da preciso dos dados de entrada da operao (como nos casos ilustrados acima), ou ainda da forma como estes nmeros so representados nos computadores ou calculadoras, pois devemos levar tambm em considerao que estes trabalham com o sistema de representao binrio. Assim, ao inserirmos um nmero no computador, normalmente o representamos na base decimal, este o converte para binrio, realiza operaes matemticas nessa base e converte o resultado novamente para a base decimal para que possamos observ-lo. Por isso ao analisarmos um resultado, devemos levar em considerao que este resultado limitado em funo dos nmeros de dgitos que a mquina dispe para trabalhar e tambm na converso, pois podemos ter alguns desvios do resultado real, j que um nmero possui uma representao finita decimal e pode no ter representao finita no sistema binrio ou vice-versa. Nesse caso, a mquina far aproximaes do nmero, o que implica avaliarmos a preciso do resultado. ARITMTICA DE PONTO FLUTUANTE Agora vamos entender como os nmeros so armazenados na memria do computador. Se uma mquina trabalha com a base , os nmeros sero representados sob o seguinte formato: ( 0, d1d 2 d 3 ...d t ) k Em que t o nmero de dgitos do nmero (o qual chamamos de mantissa), k um expoente contido em um intervalo com limite superior (M) e um limite inferior ( m). Se o expoente k , necessrio para representar um determinado nmero, for maior que (M), temos overflow e, se for menor que (m), temos underflow. Usamos a notao F ( , t , m, M ) . Considere, por exemplo, uma mquina que opera no sistema de base 10, com 4 dgitos e o expoente de -5 a 5, ou seja: = 10, t = 3, k [ 5,5] . Os nmeros sero representados na seguinte forma: 0, d1d 2 d 3 10e , 0 d j 9, d1 0, k [ 5,5] . O que acarreta limitao na forma como os nmeros sero representados, tanto para o menor quanto para o maior nmero, em valor absoluto: Menor nmero absoluto representado: m = 0,100 10 5 =10 6 Maior nmero absoluto representado: M = 0,99 105 = 99900 Devido a esta limitao de dgitos e expoentes (inferior e superior), a mquina acusar a ocorrncia de um underflow caso seja preciso representar um nmero cujo expoente seja menor do que -5 (limite inferior m), por exemplo, no caso do nmero x = 0,243 10 8 , de outra forma acusar a ocorrncia de overflow quando precisar representar um nmero cujo expoente seja maior do que 5. Alm disso, se tivermos como resultado o nmero 127,84 = 0,12784 103 , (note que este nmero possui 5 dgitos na mantissa) a mquina ir armazen-lo, mas como s dispe de trs dgitos, ter duas opes para represent-lo: Arredondamento ou Truncamento. i) Arredondar: significa determinar o dgito aps o ltimo algarismo significativo do nmero, utilizando o seguinte critrio: Menor que 5: desprezamos os demais dgitos aps o ltimo algarismo significativo. Maior que 5: somamos um ao ltimo algarismo significativo.

No arredondamento de 0,12784 103 , vemos que o dgito aps o ltimo algarismo significativo (que o terceiro, pois t = 3 ) maior ou igual a 5. Ento, somamos um ao ltimo algarismo significativo, e de 0,12784 103 arredondamos para 0,128 103 . ii) Truncar: simplesmente, consideramos os dgitos contidos pelo nmero de algarismos significativos e desprezamos os demais dgitos. Ao truncarmos o nmero 0,12784 103 teremos 0,127 103 . Poderemos utilizar ambas as representaes: 0,127 103 ou 0,128 103 . Optar por arredondar ou truncar uma opo quando realizamos uma operao e estamos cientes da margem de erro. Chamamos de erro absoluto ao mdulo ou valor absoluto da diferena entre o valor exato de x = x x |. um nmero x e o de seu valor aproximado x . Simbolicamente, seria escrito como x Mas como em geral no conhecemos o valor exato de , obtemos o que chamamos de erro relativo dividindo o erro absoluto pelo valor aproximado, = x = x . Por exemplo, sabemos que o valor de est entre 3,14 e 3,15, ou seja, [3,14;3,15] , ento qualquer valor assumido como neste intervalo ter um erro = erro = por exemplo, sabendo que [3,1415;3,1416] obteremos um erro menor ainda, pois neste caso o
3,1415 3,1416 = 0,00003 < 0,0001 = 0,01% . 3,1416 3,14 3,15 = 0,003 < 0,01 =1% . 3,15

x x

Mas, se refinarmos nossa preciso,

Note que o erro relativo dado em termos

percentuais. EXERCCIOS 1. Represente os nmeros abaixo no sistema F (10,4,3,2 ) . a) 0,2345 b) 23,14 c) 4210 d) 5,0931 2. Dado o nmero x , escreva-o usando a notao de ponto flutuante. Depois, arredonde-o usando o sistema F (10,2,2,2 ) . Determine ento o seu erro absoluto e relativo. a) x =42,1 b) x = 723 c) x =1,49 d) x =5,39 3. Preencha a tabela a seguir, considerando o sistema F (10,3,4,4 ) . x 1,25 10,053 -238,15 2,71828 0,000000007 718235,82 4. Considere o sistema F (10,2,5,5) . Sabendo que a adio aritmtica de ponto flutuante requer o alinhamento dos pontos decimais dos nmeros, efetue as operaes. (Dica: converta os nmeros para o sistema F, efetue as operaes e depois arredonde os resultados se necessrio) a) b)
x =4,32 . Efetue x + y y =0,064 x =372 . Efetue x y y =371

Representao por arredondamento

Representao por truncamento

c)

x =0,691 . y =2,71

Efetue x + y

5. Efetue as operaes fazendo arredondamento a cada operao e fazendo arredondamento ao final das operaes. Use uma casa decimal. a) (11,4 +3,18) +5,05 b) 11,4 + ( 3,18 + 5,05)
3,18 11,4 5,05 3,18 d) 5,05 11,4 e) 3,18 (5,05 +11,4 ) f) 3,18 5,05 +3,18 11,4

c)

You might also like