Home
Capítulo 3
Contents
1. Definamos x como sendo o n mero de F mais pr ximo de x tal que x lt x e x como o n mero de F mais pr ximo de x tal que x 2x Se o n mero mais pr ximo o zero escolhemos para sinal do zero o sinal de x Consideremos um n mero positivo x pertencente ao intervalo normalizado e escrevamos x na sua forma normalizada s lbo bbas X2 3 20 Tem se que o n mero mais pr ximo de F que menor ou iguala x ae lbbbal a ou seja x obtido por truncatura da expans o bin ria da mantissa desprezando b b Se xg F pelo menos um dos bits desprezados na sua p expans o diferente de zero ent o x b b b 0 00 01 x2 o pr ximo n mero de F maior do que x_ e por conseguinte tamb m o pr ximo n mero maior do que x o qual dever situar se entre x_ e x Neste caso o 1 no incremento est na posi o p 1 depois do ponto bin rio e portanto a amplitude do intervalo x_x 270 x2 3 21 Note se que este valor o mesmo de ulp x definido em 3 12 Encontrar a expans o bin ria de x um pouco mais complicado uma vez que um bit tem de ser adicionado ltima posi o da parte fraccional de x Se x maior do que N ent o x N u x Se x positivo max max mas menor do que N min ent o x um n mero desnormalizado ou zero e x um n mero desnormalizado ou Nin No caso de x ser um n mero negativo x x s o determinados de forma an log
2. 1 00 01 1424 e a diferen a entre estes dois n meros e 0 00 01 2 3 11 designa se por epsilon da m quina Esta quantidade que como se pode ver depende da base e do n mero de algarismos das mantissas da maior import ncia na an lise de erros de arredondamento como veremos mais adiante Mais geralmente para um n mero em ponto flutuante xe F dado por 3 10 define se ulp x 0 00 01 x2 2 D x2 ex2 3 12 Ulp a abreviatura para unit in the last place Se x gt 0 ent o ulp x a dist ncia entre x e o n mero que lhe sucede em F se x lt 0 ent o ulp x a dist ncia entre x e o n mero que o antecede em F Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 44 Uma aproxima o para o epsilon da m quina de um sistema de v rgula flutuante de base b pode ser calculada usando o seguinte algoritmo e assumindo que o modo de arredondamento para o mais pr ximo e lt 1 repetir lt E e lt 1 e at 6 1 A interpreta o deste algoritmo a seguinte se x uma pot ncia negativa de b tal que x lt e ent o 1 x d 1 O conhecimento de do sistema computacional ou m quina de calcular fundamental De facto se considerarmos por exemplo a equa o 1 x 1 esta admite muitas solu es em aritm tica de ponto flutuante e n o apenas x 0 3 3 4 Overflow e underflow Consideremos xe F
3. x apro 3 24 Informalmente podemos dizer que o erro absoluto de arredondamento menor do que ulp significando ulp x se x gt 0 e ulp x se x lt 0 Quando o modo de arredondamento utilizado o sim trico ent o tem se A round x xl SP 3 25 Vejamos por exemplo qual o erro absoluto de arredondamento no formato simples do n mero Vo para os quatro modos diferentes E css 1 Ar E J vimos que o n mero a ANO cale n o tem uma express o bin ria finita Ent o utilizando o modo de Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 63 e arredondamento por defeito ou a truncatura tem se que 0 01111011 10011001100110011001100 E portanto 4 round x x 1 10011001100 x2 lt 22 x24 27 e arredondamento por excesso ou o arredondamento sim trico tem se 0 01111011 10011001100110011001101 que E portanto 4 round x x 1 0011001100 x2 lt 27 x2 2 O erro relativo de arredondamento associado ao n mero x diferente de zero definido por R f onde Se round x round x x l 3 26 X Assumindo novamente que x um n mero normalizado de 3 20 sabemos que x SDS e portanto para todos os modos de arredondamento o erro relativo de arredondamento possui o seguinte majorante _ round x x E 2P x2 R Kl 2 20D g 3 27 utilizando o majorante do erro
4. 1bb b bo x27 00000000011 3 o 1h b b b x27 01111111111 1023 1 b b b b X2 10000000000 1024 L bib b b X2 11111111100 2044 1b b b b 2 11111111101 2045 Lbb b b x2 11111111110 2046 ED D bob X20 11111111111 2047 to se b b 0 ou NaN Tabela 3 4 Formato duplo da norma IEEE Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 54 Os n meros com uma expans o bin ria infinita como por exemplo O ou 7 s o agora obviamente representados mais precisamente com o formato duplo do que com o simples O menor n mero positivo normalizado que pode ser representado no formato duplo N a 520 22x10 3 17 e o maior N aax 2 2 x 1 8x10 3 18 Uma s ntese dos limites dos expoentes e os valores dos n meros normalizados menores e maiores dados em 3 15 3 16 3 17 e 3 18 encontram se na seguinte tabela Formato Cm Crue N N Simples 126 127 De OO 28 3 ATO Duplo 1022 1023 272 2054210 8 202702410 Tabela 3 5 Limites do formato IEEE de ponto flutuante A precis o de um sistema de ponto flutuante como j foi referido anteriormente o n mero de bits significativos incluindo o bit impl cito Tem se que no formato simples p 24 e no duplo p 53 Qualquer n mero normalizado em ponto flutu
5. HP 85 107 10 Cray ga 9 2 x 1079 989 pas 1 1x 107 DEC VAX formato H oba As 84x 107 016383 a 59x10 Burroughs 6X00 duplo g2758 a 1 9 x 107258 232780 o 1 9x107 Proposta da norma IEEE Intel i8087 Motorola 6839 e Simples e Duplo e Duplo estendido 27 1 2x10 2702 2 2x10 o Ri 34x107 2 1 7x10 91023 9x10 516383 z 5 9x104 Tabela 3 2 Underflow e Overflow de algumas m quinas Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 46 3 4 A Norma IEEE 754 Os fabricantes de computadores t m adoptado na constru o das suas m quinas diferentes sistemas de ponto flutuante diferindo na base nos n meros de d gitos da mantissa e do expoente nas regras de arredondamento etc Esta variedade leva por exemplo a que um mesmo procedimento possa ter resultados diferentes consoante a m quina em que eles foram executados Esta situa o levou em 1985 publica o da norma IEEE 754 cujo objectivo primordial consistia na uniformiza o dos v rios sistemas existentes Esta aritm tica prev tr s aspectos fundamentais 49 e uma representa o consistente dos n meros no sistema de ponto flutuante em todas as m quinas que a adoptem e os resultados das opera es em ponto flutuante s o correctamente arredondados utilizando diversos modos de arredondamento e
6. ficas an lise de algumas infer ncias err neas Aritm tica Computacional 41 fixados b p e q denotaremos simplesmente por F o conjunto dos n meros que t m representa o exacta neste sistema Assim se xeF ent o x tmxb 3 7 onde 1 lt m lt b se o n mero for normalizado e e um n mero inteiro A partir da defini o de F imediato que todos os seus n meros s o apenas alguns dos racionais Assim sendo tem se que F um subconjunto pr prio de IR Este subconjunto F finito por constru o uma vez que apenas um n mero finito de n meros racionais podem ser representados exactamente Como consequ ncia imediata tem se que F ao contr rio de IR discreto e limitado Para a representa o de n meros no computador j foi referido que prefer vel utilizar a base bin ria em vez da base decimal Assim os n meros normalizados s o representados da seguinte forma x tmx2 onde I lt m lt 2 3 8 Consequentemente a expans o bin ria da mantissa m b bb b b com by 1 3 9 13 Por exemplo o n mero E representado como Z LI01 x2 Logo para os n meros diferentes de zero e como b 1 podemos escrever que um n mero x est normalizado se e x tmx2 com m 1 5 b Portanto para representar um n mero neste sistema divide se a sequ ncia de bits em tr s campos um para o sinal outro para o expoente e e um outro para a mantissa m respectivame
7. meros da mesma forma A truncatura utilizada sempre que se introduz na calculadora a partir da calculadora um valor que ultrapasse o n mero de d gitos permitido J nos referimos a esta situa o em 3 6 2 e 3 6 3 Na Casio CFX 9850 se introduzirmos o n mero 123123456789 esta m quina apresenta o n mero 1 231234567E 11 Assim sempre que s o considerados n meros com mais Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 75 de 10 d gitos esta m quina efectua truncatura Por outro lado na calculadora Texas TI 83 se introduzirmos a partir do teclado um n mero com mais de 15 d gitos esta m quina trunca o n mero a partir do 15 algarismo At ao n mero de d gitos permitido ambas as calculadoras procedem ao arredondamento sim trico Por exemplo na Texas TI 83 temos que 12345672927 1 234567 299E16 2345672932 1 23456729 3E16 12345672963 1 234567997 E16 O arredondamento sim trico tamb m utilizado quando os resultados das opera es excedem o n mero de d gitos permitidos para a visualiza o Por exemplo na Casio CFX 9850 temos JS J5 ET J 9691185755 1 29 Ans 3 96511579 Ans 1 285571429 T HESSE HS de Tl STiAZ e 425e 09 Para ilustrar a diferen a entre as m quinas que estamos a usar consideremos o exemplo seguinte Suponhamos que pretend amos concluir que sin45 cos45 utilizando a calculadora efectu
8. o Ariane 5 caiu ap s 36 segundos de voo A queda ficou a dever se a um erro de programa o ao converter um n mero fraccion rio representado no computador de bordo com 64 d gitos bin rios bits para um n mero inteiro representado com 16 bits o sistema de voo do foguet o controlado por computador entrou em colapso Os preju zos foram estimados em v rias centenas de milh es de euros 2 Em 25 de Fevereiro de 1991 durante a guerra do Golfo um anti m ssel Patriot lan ado pelas tropas aliadas falhou a intercep o dum m ssil vindo do lado de Saddam Hussein Morreram 28 pessoas O problema resultou da acumula o sucessiva de erros de arredondamento no c lculo do tempo necess rio para a intercep o do m ssil invasor 3 Em 1982 a Bolsa de Valores de Vancouver instituiu um novo ndice inicializado com o valor nominal de 1 000 000 O ndice era recalculado e actualizado no final de cada transac o Ap s 22 meses o ndice caiu para 524 881 A causa dessa desvaloriza o resultou de se terem efectuado truncaturas em cada transac o registada em lugar de arredondamentos O valor arredondado correcto daria 1 098 892 4 Na Alemanha um partido com menos de 5 de votos n o elege nenhum deputado Na land Schleswig Holstein num certo per odo eleitoral um determinado partido foi dado como tendo obtido 5 dos votos elegendo assim um deputado Depois de anunciados os resultados veio a verificar se que esse pa
9. a 123456729 123 4SBroSE S No caso de seleccionar a nota o Normal mas n o seja poss vel apresentar a resposta em 10 d gitos ou se o valor absoluto for inferior a 0 001 10 Estes dois ltimos s o semelhantes aos j referidos para a m quina Casio CFX 9850 Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 71 ent o esta m quina exprime a resposta em nota o cient fica Vejamos os exemplos 19 LHABABABAAA 1AE 43 E 1EIB le 4 poss vel ainda utilizar um modo decimal denominado Float 0123456789 que permite apresentar a resposta at 10 d gitos Aa Sci Eng 6123456799 Esta op o aplica se aos tr s modos de nota o Consideremos por exemplo sornak Sci Eng oat 12 56799 todos os n meros s o apresentados com 4 casas decimais Por exemplo T dr l a op o Float 4 da 1416 sor l ld 2557 3 6 4 Overflow e underflow Como j foi mencionado F um conjunto limitado Importa ent o obter a resposta para as seguintes quest es e Qual o maior n mero N em valor absoluto que pode ser max representado em cada uma das m quinas e E qual o menor n mero N em valor absoluto que pode ser min representado em cada uma das m quinas De um modo geral em F 10 p q e de acordo com 3 29 tem se que Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacio
10. absoluto 3 24 e a defini o de e em 3 11 No caso de se considerar o arredondamento sim trico temos utilizando 3 25 que o R lt 2 22 20 de 3 28 2 2 Ao n mero u 2 e no caso do arredondamento sim trico ou u 2 D e no caso da truncatura chamamos unidade de erro de arredondamento da m quina A unidade de erro de arredondamento Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 64 portanto um majorante para o erro relativo de arredondamento de qualquer n mero De 3 26 tem se que round x x 1 6 com l lt u Combinando este resultado com 3 27 e 3 28 completa se a demonstra o do seguinte resultado 49 p 29 Teorema 3 1 Seja x um n mero real qualquer no intervalo normalizado de um sistema bin rio de ponto flutuante com precis o p Ent o round 0 x 1 8 para algum satisfazendo j lt onde e precis o da m quina o valor entre 1 eo pr ximo n mero de ponto flutuante maior isto EEI o Al m disso se o modo de arredondamento o sim trico tem se que Bsze 2 8 Este teorema muito importante porque mostra que independentemente de como x armazenado e apresentado podemos pensar neste valor n o como exacto mas como exacto com um factor de l e Portanto por exemplo no formato simples os n meros s o apresentados com um factor de 1 107 ou seja s o aproximado
11. excepto a primeira e a ltima referem se a n meros normalizados ou seja todos os n meros em ponto flutuante que de algum modo n o s o especiais A mantissa disp e de 23 bits e normalizada ou seja O primeiro bit da mantissa sempre 1 e portanto uma vez que conhecido n o necess rio armazen lo Assim sendo o primeiro bit da mantissa um bit impl cito o que significa que na realidade a mantissa possui p 24 d gitos A ltima linha desta tabela mostra que uma sequ ncia de bits do expoente composta s por 1s uma configura o especial para representar to ou NaN dependendo da sequ ncia de bits da parte fraccional No formato simples o menor expoente 00000001 correspondendo a 2 e o maior 11111110 correspondendo a 2 7 uma vez que para se obter o verdadeiro subtrai se 127 ao expoente armazenado Por esta raz o o expoente diz se enviesado De facto tem se no formato simples 8 bits para o expoente O menor expoente 00000001 1 e o maior expoente 11111110 2 2 254 0 1 127 254 255 expoentes negativos expoentes positivos Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 49 Assim sendo o expoente correspondente sequ ncia a a a a excep es parte o verdadeiro expoente dado por Do 2 e E E 27 1 E 127 3 13 onde E o expoente armazenado Note se que a partir da defini o se
12. exemplo 234 2x10 3x10 4x10 Trata se portanto de uma representa o posicional Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 36 Utilizando o s mbolo d para denotar o algarismo ou d gito decimal colocado na posi o i a contar da direita um inteiro N com n 1 d gitos possui a seguinte representa o decimal N d d dd Hd x10 d x107 4d x10 d x10 3 1 n n l com e e 0 lt d lt 9 i 0 ne d 0 Generalizando esta ideia a uma base b diferente de 10 em que b gt 2 e inteiro vem que um n mero inteiro N 0 ter uma representa o na forma N d d dd d xb d xb d xb d xb 3 2 nn com e e 0O lt d lt b i 0l ned 0 Assim fixada a base qualquer inteiro ficar completamente definido pelo sinal e pela sequ ncia de d gitos d d A representa o de um n mero natural N numa base b nica isto se N 5ab Yd ent o n m e i 0 i 0 d d para i 0 n O sistema bin rio adquiriu uma import ncia especial com o advento dos computadores digitais Estes utilizam para armazenar informa o dispositivos f sicos que podem assumir de modo est vel dois estados distintos De facto um interruptor pode estar ligado ou desligado uma l mpada pode estar acesa ou apagada uma corrente el ctrica pode magnetizar um n cleo num sentido ou noutro etc Os computadores t m impulsos en
13. poss vel normalizar o n mero zero uma vez que todos os seus bits teriam de ser zeros De facto uma sequ ncia de bits nesta representa o significaria 1 0 e n o 0 0 uma vez que o bit b est impl cito Para ultrapassar esta dificuldade existem dois processos O primeiro que foi usado pela maioria dos sistemas de ponto flutuante at cerca de 1975 n o pressupunha a exist ncia do bit impl cito e considerava que na representa o de um n mero diferente de zero o bit b teria de ser Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 43 armazenado explicitamente em vez de ser sempre igual a 1 Neste processo o n mero zero podia ser representado por uma mantissa de bits todos iguais a zero O segundo processo utilizado na norma IEEE 754 de que falaremos mais frente consiste em usar uma sequ ncia especial de bits para o campo do expoente para assinalar o facto do n mero ser zero 3 3 3 Precis o e epsilon da m quina A precis o de um sistema de ponto flutuante o n mero de bits significativos incluindo o bit impl cito usados para a representa o da mantissa 49 Denotando a precis o por p tem se no sistema atr s descrito que p 24 23 bits da parte fraccional da mantissa e 1 bit impl cito Qualquer n mero normalizado em ponto flutuante com precis o p pode ser expresso como x Hbb b b 1 x2 3 10 O menor n mero xe F que maior do que 1
14. um tratamento consistente de situa es excepcionais como por exemplo a divis o por zero Nos formatos b sicos da norma IEEE o bit principal b de um n mero normalizado impl cito tal como j foi descrito anteriormente Por conseguinte necess ria uma representa o especial para o armazenamento do n mero zero No entanto o zero n o o nico n mero para o qual a norma tem uma representa o especial outro n mero especial n o usado nas m quinas mais antigas o A exist ncia deste n mero permite que se possa dividir um n mero por zero obtendo como resultado matem tico no lugar de uma mensagem de overflow Assim sendo uma quest o se coloca de imediato e ent o em rela o ao Posteriormente trataremos deste caso Para j note se que enquanto 0 e 0 s o duas diferentes representa es para o mesmo n mero e representam dois n meros diferentes Outra IEEE a sigla do Institute of Electrical and Electronic Engineers uma associa o profissional dos Estados Unidos da Am rica Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 47 representa o especial NaN abreviatura de Not a Number que n o de modo algum um n mero A norma IEEE 754 define dois formatos b sicos para os n meros em ponto flutuante o formato simples com 32 bits e o formato duplo com 64 bits Simples 1 8 23 Sin
15. valor em mem ria exceder am 9 99999999999999 xX 10 a calculadora envia a mensagem de erro Ma Error No caso da calculadora Texas Instruments TI 83 Plus a mensagem de erro Overflow ver anexos A e B Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 73 A representa o exacta do n mero 69 envolve 99 d gitos 69 17112245242814131137246833888127283909227054489352036939364 8040923257279754140647424000000000000000 Por outro lado a representa o do n mero 70 envolve 101 d gitos o que requer um expoente igual a 100 ou seja utilizando 3 d gitos 70 11978571669969891796072783721689098736458938142546425857555 362864628009582789845319680000000000000000 Na pr tica pode ser necess rio reformular certos c lculos no sentido de evitar a ocorr ncia destes problemas num ricos Vejamos a seguinte situa o 50 p 30 Pretende se calcular a hipotenusa A de um tri ngulo rect ngulo de catetos a e c os quais assumem valores muito elevados mas inferiores ao limite de overflow No entanto existe a possibilidade de a e c produzirem overflow Assim para contornar este problema se a gt c prefer vel utilizar a Cc 2 express o h a 1 Uma vez que o c lculo do valor desta express o a n o produz overflow E 3 6 5 Precis o e epsilon da m quina A precis o p de um sistema de ponto flutuante como j vimos o n mero de algarismos signific
16. 11 bits 52 bits 0 10000000000 000 0000 gt gt gt 1024 2r 0040 Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 56 Quais os n meros entre 1 e 2 4 1 00 01x2 1 2 45 1 00 10x2 1 2 A 1 00 11xX2 1 2 4 252 A 1 00 100x2 1 2 A 1 00 101x2 1 2 2 4 1 00 110x2 1 2 425 Aa 1 11 10x2 1 27 2 2 14 1 251 2025 Apel AI 22 20 Existem portanto 2 n meros de F no intervalo 12 2 O espa amento entre eles 2 A 1 2 A Aj 142 1 2 2 22 22 2 1 2 Ao A 2 2241 2 22 2421 22 142 2 E 2 Ag 2 No intervalo 124 existem igualmente2 n meros de F e o espa amento entre eles 2 B 1 00 01x2 1 22 x2 2 2 B 1 00 10x2 1 2 x2 2 2 Lo em 51 aa 50 Bo 1 11 10x2 2 2 x2 4 2 Bo 1 11 11x2 2 22 x2 4 25 Bi 40 A B B 2 2 2 2 2 14 2 2 Bo B 2 7224 4 2 1 442 2 1 2 2 ns 4 B 2 Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 57 Seja k inteiro Temos por conseguinte o intervalo 2 2 onde 2 1 00 0x2 N 1 00 01x2 1 22 x2 2 28 N 1 00 10x2 1 2 x2 2t 428 N 10021ix28 142 42 550 2 ot 3 Na 1 11 10x2 2 2 x2 2 2 Deal Neo Le e0 a DD Existem portanto 2 n meros de F no intervalo 2t 2 O espa ame
17. 111111111111111111_ ou seja N a LD X2 2 22 x217 218 3 4x10 3 16 Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 52 Consideremos novamente a primeira linha da tabela 3 3 Apesar de neste formato o menor n mero normalizado ser 2 poss vel usar uma combina o de uma sequ ncia de bits iguais a zero para o expoente e uma sequ ncia de bits diferentes de zero para a parte fraccional que permite representar n meros menores estes s o designados em 49 por subnormais Por exemplo 277 0 1 x2 representado como O 00000000 10000000000000000000000 enquanto que 2 0 000 001 x2 com 22 bits iguais a zero depois do ponto bin rio armazenado como O 00000000 00000000000000000000001 claro que neste formato este o menor n mero positivo que poder ser guardado 27 j aparece como zero Pelo que j foi referido estes n meros n o podem ser normalizados uma vez que a normaliza o iria necessitar de um expoente que n o pertence ao intervalo permitido No entanto a possibilidade de representa o deste tipo de n meros permite a exist ncia do designado underflow gradual 49 pp 44 45 Vejamos um exemplo Consideremos os n meros 4 e B tais que A 1 0100000000000000000000 x2 e B 1 0000000000000000000000 x 2 N pin Ent o A B 0 0100000000000000000000 x 2 Normalizando este re
18. 6949310303 Por outro lado o n mero que sucede a B Es 10000100 10110011000001000000001 ou seja C 1421423 2 27 42842 422 x2 54 376956939697 Tem se que C B ulp B ex2 B A ou seja as dist ncias de A e Ca B s o iguais A dist ncia entre n meros consecutivos de F decresce medida que os n meros se aproximam de zero No entanto o zero n o ponto de Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 51 acumula o de F uma vez que o conjunto F finito Esta situa o ocorre quer no formato simples quer no duplo Em suma a norma IEEE permite representar em formato simples n meros na forma x 12 6 5 b 3 14 em que se 0 1 O lt E lt 255 o expoente e os b s o bits isto b 10 1 com b 1 se o n mero for normalizado e b 0 se o n o for A representa o do n mero zero ver a primeira linha da tabela 3 3 requer bits todos nulos no campo do expoente assim como para o campo da frac o isto 00000000 00000000000000000000000 cujo valor pois 0 h h b b x2 O menor n mero positivo normalizado que pode ser representado neste sistema O 00000001 00000000000000000000000 ou seja N a 1 000 0 x 2728 2126 1 2x10 3 15 O maior n mero normalizado equivalentemente o maior n mero finito que pode ser representado neste sistema 0 11111110 11111
19. Aritm tica Computacional 33 3 Aritm tica Computacional 3 1 Introdu o Quando se utiliza um qualquer instrumento de trabalho para realizar uma tarefa deve se ter um conhecimento profundo do seu modo de funcionamento das suas capacidades e das suas limita es Sempre que uma calculadora ou um computador digital utilizado para efectuar um c lculo num rico quase sempre ocorre um erro o chamado erro de arredondamento Este erro inevit vel porque a aritm tica utilizada pela m quina envolve somente n meros que pertencem a um subconjunto F que finito discreto e limitado dos n meros reais Este subconjunto usado para representar todos os n meros reais Por conseguinte existem reais que n o sendo exactamente represent veis t m de ser aproximados por outros reais que pertencem a este subconjunto Os erros de arredondamento podem ter efeitos colaterais importantes Normalmente os erros de arredondamento provocam efeitos menos nefastos do que os chamados erros colaterais das guerras modernas todavia as suas consequ ncias podem ser suficientemente s rias pelo que n o podem ser ignoradas Em 30 encontram se descritos quatro casos de efeitos colaterais Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 34 calamitosos que se tornaram mundialmente famosos e que tiveram origem em erros de arredondamento 1 Em 4 de Junho de 1996 o foguet
20. a x lt g x Vejamos um exemplo Pretendemos encontrar as representa es do n mero x Vge F no sistema F 10 5 2 utilizando as duas t cnicas anteriores e fI m 3 1415926535 3 1416x10 p Arredondamento e fi n 3 1415926535 3 1415x10 Truncatura Se quis ssemos representar o n mero 3 1415 no sistema F 10 4 2 a regra atr s enunciada leva a uma ambiguidade uma vez que 3 1415 o ponto m dio de 3 1410 3 1420 Para resolver esta situa o aplica se uma t cnica designada por arredondamento sim trico e que consiste em 49 pp 10 11 e sebe forem pares arredondar de modo a que o ltimo d gito fique mpar e se b for par mas for mpar como o caso de quando b 2 ou b 10 arredondar de modo a que o ltimo d gito fique par no caso de b 2 corresponde a escolher o n mero cujo ltimo bit igual a zero e se b for mpar optar por uma das regras anteriores j que parece n o haver vantagens ou desvantagens determinantes em qualquer delas Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 59 Assim no exemplo anterior tem se que filr 3 1415926535 3 142x10 No que diz respeito aritm tica IEEE 754 vejamos como est o definidos os diversos tipos de arredondamento 49 pp 25 29 J vimos anteriormente que os n meros neste sistema de ponto flutuante podem ser expressos na forma x b b
21. a Estamos agora em condi es de enunciar os modos de arredondamento previstos na aritm tica IEEE A primeira regra prevista na norma IEEE a de que se o resultado de uma determinada opera o tiver representa o exacta Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 61 ent o o resultado dessa opera o dever ser exactamente esse valor Ou seja se x tiver representa o exacta no sistema de ponto flutuante ent o tem se que round x x Caso contr rio a norma estabelece quatro modos diferentes de arredondamento que poder o ser implementados para determinar round x arredondamento por defeito ou seja o resultado sempre arredondado para o n mero represent vel imediatamente abaixo isto round x x arredondamento por excesso ou seja o resultado sempre arredondado para o n mero represent vel imediatamente acima isto round x x truncatura isto round x x se x20 e round x x se x lt 0 e arredondamento sim trico ou para o mais pr ximo este o mais favor vel do ponto de vista num rico e tamb m o mais usado na pr tica o modo por defeito nos computadores que utilizem a norma IEEE round x x ou x O que estiver mais pr ximo de x excepto se ent o round x o No x gt N ent o round x o e se x lt N max max caso de empate ou seja x e x est o mesma dist ncia de x arred
22. al Mantissa Duplo 1 11 52 Sinal Mantissa A base da representa o utilizada a bin ria e o primeiro bit usado para o sinal da mantissa 0 para os n meros positivos e 1 para os negativos As representa es dos n meros no formato simples est o sintetizadas na tabela 3 3 bbabsba Se os bits do expoente a a a a s o Ent o o seu valor num rico 00000000 0 EMO Db bs X27 00000001 1 DD Db 2 00000010 2 ED DD ab X2 00000011 3 LD DD ja X27 01111111 127 Eb bob 2 10000000 128 Eb bbb XD 11111100 252 1h b b b X2 11111101 253 Bd Dib X2 11111110 254 1 bb b b X2 11111111 255 to se b b 0 ou NaN Tabela 3 3 Formato simples da norma IEEE Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 48 A primeira linha desta tabela mostra que a representa o do zero requer uma sequ ncia especial de zeros para o campo do expoente assim como uma sequ ncia de bits para a parte fraccional isto an 00000000 00000000000000000000000 Nenhuma outra linha nesta tabela pode ser usada para representar o n mero zero uma vez que todas as linhas exceptuando a primeira e a ltima representam n meros normalizados com o bit inicial igual a 1 este o tal bit que est impl cito Todas as linhas da tabela 3 3
23. ando para isso a diferen a Os resultados obtidos com as duas m quinas encontram se na seguinte tabela Resultado obtido na Resultado obtido na C lculo efectuado Casio CFX 9850 Texas TI 83 sin 45 cos 45 1x10 0 Tabela 3 9 Perante estes resultados que conclus es podemos retirar Porque que os resultados s o diferentes Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 76 Sendo Ja sin 45 cos 45 E claro que este valor n o pode ser representado exactamente E n o h garantia de que a f rmula de c lculo para as fun es seno e coseno produzam a mesma aproxima o para cada valor do argumento O que se pode esperar em geral que a diferen a em termos relativos n o seja muito superior normalmente ser inferior ao epsilon da m quina Relativamente Casio CFX 9850 ela considera internamente sin45 0 707106781186548 enquanto que cos45 0 707106781186547 Portanto nesta m quina tem se sin 45 cos45 10 lt 8x10 e A Texas TI 83 considera sin 45 cos 45 0 70710678118655 14 casas decimais O valor exacto de sin 45 cos 45 com 20 casas decimais dado por 0 7071067811865475244 E 13 valor obtido com o software Mathematica Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas
24. ante com precis o p pode ser expresso como r bba a 3 19 No formato simples o primeiro n mero maior do que 1 1 2 enquanto que o primeiro n mero maior do que 1 no formato duplo 1 2 A precis o p 24 no formato simples corresponde aproximadamente a sete algarismos decimais significativos Por outro lado no formato duplo a precis o p 53 corresponde aproximadamente a dezasseis algarismos decimais significativos mais pormenores em 49 pp 23 24 Estas observa es encontram se sumariadas na seguinte tabela Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 55 Formato Precis o Epsilon da m quina Simples p 24 2 1 2x107 Duplo p 53 E 2 2 2x10 Tabela 3 6 Precis o dos formatos de ponto flutuante IEEE Para se perceber melhor que a distribui o dos n meros de F n o uniforme apresentamos o seguinte resultado Proposi o Para valores de k inteiros dentro de certos limites existem 2 n meros de F no intervalo 2 2 e o espa amento entre cada dois pontos consecutivos 25 24 9t pH Consideremos sem perda de generaliza o o formato duplo 64 bits onde p 53 Vamos ent o verificar que existem 2 n meros de F no intervalo 1 2 e 2 2 1 bit 11 bits 52 bits 0 01111111111 000 0000 RE 1023 2 1 00 0x 207 03 1 1 bit
25. ativos Assim tem se na Casio CFX 9850 que p 15 e na Texas TI 83 p 14 J referimos que qualquer n mero normalizado em ponto flutuante com precis o p nestas m quinas pode ser expresso como x d did d 3d 4 X10 onde 1 lt d lt 10 e 99 lt e lt 99 O menor n mero xe F que maior do que 1 1 102 12 C lculo efectuado com o aux lio do software Mathematica Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 74 O epsilon da m quina ou seja a diferen a entre 1 e o n mero que lhe sucede em F de acordo com o que j foi referido anteriormente dado por e 10 2 Assim sendo seria de esperar que na m quina Casio CFX 9850 10 enquanto que na Texas TI 83 e 10 No entanto a realidade mostra nos que na m quina Casio CFX 9850 8x10 resultado para o qual n o obtivemos explica o ao passo que na Texas TI 83 tem se de facto que e 10 Em s ntese M quina Precis o Epsilon Casio CFX 9850 GB Plus p 15 e 8x10 Texas Instruments TI 83 Plus p 14 ge 10 Tabela 3 8 Precis o e epsilon das m quinas 3 6 6 Modos de arredondamento As calculadoras Casio CFX 9850 e Texas Tl 83 utilizam dois modos de arredondamento e a truncatura e o arredondamento sim trico de referir uma vez que de extrema import ncia que estas duas m quinas n o arredondam os n
26. b b 1 x2 onde p a precis o do sistema em ponto flutuante com b 1 e enn SeSe max para n meros normalizados e com h 0 e e e para n meros min desnormalizados Recordemos que Na designa o maior n mero normalizado e que Na O menor n mero positivo normalizado Existem tamb m dois n meros infinitos em ponto flutuante Dizemos que um n mero real x est no intervalo normalizado do sistema de ponto flutuante se N ain S br lt N wax OS n meros 0 e to e os n meros desnormalizados n o se encontram no intervalo normalizado do sistema de ponto flutuante Suponhamos que o n mero real x F Ent o pelo menos uma ou talvez as duas das seguintes situa es verdadeira e x encontra se fora do intervalo normalizado o seu valor absoluto maior do que Na ou menor do que Nin Por exemplo no formato simples os n meros 2 e 2 n o pertencem ao intervalo normalizado ver tabela 3 5 e a expans o bin ria de x requer mais de p bits para representar exactamente o n mero ou seja a precis o do sistema de ponto flutuante insuficiente para representar x exactamente Por exemplo no formato simples o n mero 1 2 1 00000000000000000000001 requer mais bits do que aqueles que s o permitidos Em qualquer dos casos necess rio aproximar x por um n mero que perten a ao sistema Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 60
27. e o n mero de d gitos da mantissa varia de m quina para m quina O expoente ajustado de forma a que o primeiro d gito da mantissa esquerda da v rgula seja diferente de zero A base 7 As m quinas de que temos conhecimento usam todas dois algarismos para os expoentes Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 66 incorporada nas m quinas utilizadas neste estudo a base 10 Ao contr rio do que acontece na base 2 n o poss vel na base 10 assumir a exist ncia de um algarismo impl cito claro que nesta base contrariamente ao que se passava na base 2 o n mero 0 1 possui uma representa o exacta Consideremos pois F 10 p q O sistema de representa o em ponto flutuante de base 10 onde p o n mero de d gitos da mantissa e cujo expoente pode utilizar no m ximo q d gitos base 10 Este sistema constitu do por todos os n meros reais x normalizados da forma Emos 3 29 onde 1 lt m lt 10 e e um n mero inteiro tal que e lt 10 1 e ainda x 0 de notar que nesta m quina a gama de expoentes sim trica relativamente origem No entanto esta situa o nem sempre sucede nos sistemas de ponto flutuante como vimos anteriormente no caso da aritm tica IEEE754 Vejamos ent o em pormenor o sistema de ponto flutuante das m quinas que foram utilizadas neste trabalho a Casio CFX 9850 GB Plus e a Texas Instruments TI 83 Plus
28. eros introduzidos a partir do teclado com mais de 10 d gitos eles s o guardados at ao 14 d gito como podemos ver pelo seguinte exemplo Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 70 Sejam 4A 1 2345678912345 com 14 d gitos e B 1 234567891 com uma mantissa de 10 d gitos Ent o o valor exacto de A B dado correctamente pela m quina 1 234er z4 1 2345675491 945218 De acordo com o manual de utiliza o desta m quina 67 existem tr s modos de nota o Normal Sci e Eng Estes modos s afectam a forma como uma resposta apresentada no cran de visualiza o poss vel introduzir um n mero em qualquer um dos formatos O modo de nota o Normal a forma mais habitual em que expressamos os n meros com d gitos esquerda e direita do ponto decimal exemplo 1230 456789 O modo de nota o Sci cient fica expressa n meros em duas partes Os n meros significativos s o apresentados com um d gito esquerda do ponto decimal e a pot ncia de 10 adequada apresentada direita de E Vejamos o seguinte exemplo 12536 456r39 l z50456r89E5 1253456799 l 23456789E 71 O modo de nota o Eng de engenharia semelhante nota o cient fica No entanto o n mero pode ter um dois ou tr s d gitos antes do ponto decimal e o expoente um m ltiplo de tr s como por exemplo 12545 6799 12 94567S9ES
29. expoente e A adop o desta conven o n o elimina no entanto todas as ambiguidades Assim para o n mero zero continuam a ser poss veis infinitas representa es todas com mantissa m 0 e expoente e arbitr rio Uma outra situa o em que a representa o tamb m n o nica o caso de n meros cuja mantissa tem infinitos d gitos repetindo se periodicamente Por exemplo 9 999999 representa pela express o 3 3 e pela f rmula da soma das progress es geom tricas o n mero 10 x 9 9999 5 9x10 9x e 1 0 1 Assim consideraremos 9 9999 e 1 0x10 como duas representa es do mesmo n mero 3 3 2 Representa o em sistema de ponto ou v rgula flutuante claro que a nota o cient fica apresentada anteriormente n o pode ser implementada em computador pois para abranger todos os n meros reais a mantissa e o expoente exigiram um n mero infinito de d gitos Por conseguinte a nota o cient fica alterada no sentido de apenas se utilizar um n mero finito p de d gitos para a mantissa e um n mero finito q de d gitos para o expoente obtendo se assim a chamada representa o em ponto flutuante que se baseia na nota o cient fica Neste estudo usaremos a nota o F b p q para denominar o sistema de representa o em ponto flutuante de base b cuja mantissa ocupa p d gitos base b e cujo expoente pode utilizar no m ximo q d gitos base b Fun es e Calculadoras Gr
30. ion ria da representa o do n mero real x na base b 3 3 1 Nota o cient fica de n meros reais Em determinadas aplica es cient ficas h necessidade de recorrer a n meros muito grandes e a n meros muito pequenos A forma de ultrapassar as dificuldades inerentes representa o destes n meros utilizando a chamada nota o cient fica ou exponencial Esta nota o consiste em exprimir um n mero real x na forma x tmxb 3 5 em que m um n mero real n o negativo designado por mantissa b gt 2 um inteiro positivo designado por base e e um n mero inteiro designado por expoente Fixada a base b esta representa o n o nica Assim para ultrapassar esta ambiguidade usual optar por uma mantissa que satisfa a a seguinte conven o m 0 se x 0 3 6 I lt m lt b se x 0 Nesta situa o diz se que se trata de uma representa o normalizada De notar que neste tipo de representa o o primeiro d gito da mantissa de um Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 40 n mero diferente de zero sempre diferente de zero Por exemplo a representa o normalizada em base 10 de 1975 05 1 97505x10 e a do n mero 0 000197505 1 97505x10 sempre poss vel satisfazer a condi o I lt m lt 10 uma vez que m pode ser obtido de x atrav s de multiplica es ou divis es sucessivas por 10 adequando o respectivo
31. iro como podemos ver pelo seguinte exemplo Seja 4 9 9999999999 com uma mantissa de 11 d gitos e B 9 999999993 com uma mantissa de 10 d gitos Ent o o valor exacto de A B dado por A B 9 9999999999 9 999999993 6 9x 10 mas o resultado na m quina 9 3999999999 G 999999 393 B E 09 a m quina truncou o ltimo algarismo de 4 Segundo o manual de utiliza o 11 esta calculadora possui quatro formatos de apresenta o dos n meros Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 68 EFE EF Normi A Fi F3 F3 F4 O modo Fix permite especificar um n mero fixo de casas decimais A op o Sci permite especificar o n mero de algarismos significativos e o modo Eng representa os n meros na nota o de engenharia Por exemplo 16 3 i k 3x10 6 z Tx16 9 T G onde o s mbolo k kilo representa 10 M mega 10 e G giga representa 10 O modo Norm permite representar os n meros em nota o cient fica o manual chama lhe formato exponencial Como j foi mencionado esta calculadora apresenta os n meros com uma mantissa de 10 d gitos Sempre que estes n meros ultrapassem este limite eles s o automaticamente convertidos e visualizados num dos seguintes formatos a escolha de um destes formatos realizada pelo utilizador norm 1 ou norm 2 A nica diferen a entre estes dois formatos reside
32. itua o acresce ainda o facto de que a aritm tica decimal de implementa o dif cil em computador Por todas estas raz es a base 10 muito pouco utilizada na representa o de n meros em computador excepto quando se torna absolutamente necess rio que a representa o e a aritm tica sejam integralmente decimais Em s ntese fixada a base um n mero ficar totalmente determinado pelo seu sinal e pela sequ ncia de d gitos Se representarmos o sinal por O e o sinal por 1 o n mero aparece nos apenas como uma sequ ncia de d gitos Como todas as m quinas o computador uma ferramenta com capacidade finita Por conseguinte o n mero total de bits que o computador utiliza na representa o de n meros necessariamente finito Assim existe apenas um n mero finito de inteiros exactamente represent veis num computador Para representar um n mero com n decimais s o necess rios log 10 n 33n bits Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 38 3 3 Representa o de n meros reais Na base decimal a nota o 123 75 interpretada da seguinte forma 123 75 123 75 onde 123 1x10 2x10 3x10 e 75 7x107 5x10 A expans o bin ria equivalente dada por 123 75 28 2 24 2 2 2 27 22 1111011 11 A expans o deste n mero nas duas bases finita No entanto esta situa o nem sempre ocorre Por exemplo o n mero V
33. na apresenta o dos n meros que perten am ao intervalo 0 107 e 107 107 Assim no caso de norm 1 qualquer n mero x tal que x lt 10 visualizado na nota o cient fica Por outro lado no formato norm 2 os n meros s s o apresentados na nota o cient fica se x lt 10 Vejamos os seguintes exemplos Refere o manual que todos os exemplos apresentados encontram se no formato Norm1 Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 69 Ac 1 3 2 0 0 E 7 1 208 se as Norm 1 1 206 a man Norm 2 LE i pa El 18 93 Norm 1 6 BABBBBBAL Norm 2 3 6 3 Texas Instruments TI 83 Plus Esta calculadora possui uma mantissa de 14 d gitos apresentando os resultados no visor com uma mantissa de 10 d gitos O expoente disp e de dois d gitos ou seja 99 lt e lt 99 Assim sendo temos que o sistema de ponto flutuante utilizado por esta m quina F 10 14 2 Vejamos novamente o exemplo de 3 Temos nesta m quina que Si o l FS2BsBSBs Ans 1 5285058 Ta d609E 4 Ou seja esta m quina apresenta 3 como 1 732050808 10 d gitos enquanto que internamente considera y3 1 7320508075689 14 d gitos Analogamente ao que se passa com a Casio CFX 9850 esta m quina tamb m apresenta o valor de E arredondado simetricamente Ao contr rio do que sucede com a Casio CFX 9850 no que diz respeito aos n m
34. nal 72 Na io 10D x10 e Npa 107 Assim sendo no caso das m quinas j mencionadas a Casio CFX 9850 como o sistema de representa o em ponto flutuante utilizado F 10 15 2 ent o o maior n mero em valor absoluto represent vel ser o 9 99999999999999 x 10 enquanto que o menor em valor absoluto 10 Por outro lado na Texas TI 83 cujo sistema de representa o em ponto flutuante utilizado F 10 14 2 ent o o maior n mero em valor absoluto represent vel ser o 9 9999999999999x 10 enquanto que o menor em valor absoluto 10 conduz A tentativa de representa o de um n mero x tal que x gt N pax condi o de overflow isto ultrapassagem do n mero de d gitos permitido para o expoente Por outro lado se tentarmos representar um n mero x 0 tal que x lt N somos conduzidos a uma situa o de min underflow e o n mero apresentado na m quina o zero Vejamos o seguinte exemplo obtido na Texas Tl 83 onde ocorre underflow 16 99 Ans 16 1e 99 Ei Consideremos agora um exemplo realizado na Casio CFX 9850 onde ocorre overflow 53 C lculo efectuado Resultado obtido 69 1 711224524E 98 70 overflow error Ma Error Tabela 3 7 11 Se a calculadora exceder os par metros de c lculo surge no visor uma mensagem de erro Se qualquer resultado 99 quer interm dio ou final ou qualquer
35. nte Uma sequ ncia de 32 bits pode ser dividida nos seguintes campos 1 bit para o sinal 8 bits para o expoente e 23 bits para a mantissa O bit do sinal O Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 42 para os n meros positivos e 1 para os n meros negativos Os 23 bits da mantissa s o utilizados depois do ponto bin rio para representar a expans o bin ria de m isto b b b claro que n o necess rio guardar b visto que sabemos que o seu valor 1 diz se que b um bit impl cito 13 De acordo com o que foi referido o n mero E representado como 0 ebits 2 10100000000000000000000 e o n mero 71 1 000111 x2 expresso como 0 ebits 6 000111 00000000000000000 Para facilitar a representa o os bits do expoente n o s o apresentados para j explicitamente mas atrav s da express o ebits e Neste sistema se x exactamente uma pot ncia de 2 ent o a mantissa o n mero 1 0 uma vez que os bits da parte fraccional s o todos iguais a zero recordemos que b 1 n o armazenado de forma expl cita Por exemplo 1 1 000 x2 expresso como 0 ebits 0 00000000000000000000000 e o n mero 1024 1 000 x2 representado como 0 ebits 10 00000000000000000000000 Nesta representa o n o
36. nto entre eles No Dto Stade N N 2t 98 2t ot coh2 o 1 28 Na N a 52 25 2H ppt t 142 28 2 N a 52 2 RR spt Ou seja o espa amento e 2 evidente que pelo facto de existirem 2 n meros de F no intervalo 2 2 segue imediatamente que o espa amento entre cada dois dos seus pontos igual a 28 2 22 28 221 k 52 _ nk 52 5 E 7 25 2S2 A 3 5 Modos de arredondamento Como verific mos anteriormente a representa o de n meros em ponto flutuante s permite a representa o exacta de alguns n meros reais todos racionais Assim dado um n mero real x qual o n mero em F b p q que denotaremos por f x x ou round x que o representa Se x tiver representa o exacta em F ent o tem se que fl x x Caso contr rio existem em alguns sistemas de ponto flutuante nomeadamente nas m quinas Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 58 gr ficas utilizadas neste estudo dois modos para determinar f x o corte ou truncatura e o arredondamento Assumindo que x n o leva a overflow ou a underflow vejamos em que consiste cada um destes processos e Corte ou Truncatura T desprezam se simplesmente os d gitos do n mero real x que ultrapassam o n mero de d gitos permitidos para a mantissa e Arredondamento A o n mero real x representado pelo n mero de F que lhe est mais pr ximo em valor absoluto ou sej
37. ondar de modo a que o ltimo bit seja igual a zero Se x um n mero positivo ent o x encontra se entre zero e x e portanto o arredondamento por defeito e a truncatura obt m o mesmo round x No caso de x ser um n mero negativo ent o x encontra se entre zero e x e por conseguinte o arredondamento por excesso e a truncatura obt m o mesmo round x Se x gt N w o modo de arredondamento o sim trico ent o round x oo o qual n o mais pr ximo de x do que Npa Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 62 3 5 1 Erro absoluto e erro relativo de arredondamento O passo seguinte consiste em analisar os erros de representa o ou seja determinar a discrep ncia entre a representa o X round x do n mero real x num sistema de ponto flutuante e o n mero real x Seja x mxb e Xx round x mxb 3 22 Define se erro absoluto de arredondamento A por A round x x ou seja A round x x iiixb mxb m m xb m m xb 3 23 Este valor depende da precis o e do modo de arredondamento utilizado Suponhamos que x da forma dada em 3 20 mas n o pertence ao sistema de ponto flutuante Ent o imediato que o erro absoluto de arredondamento associado a x menor do que a amplitude entre x e x independentemente do modo de arredondamento Por conseguinte de 3 21 tem se que A jround x
38. or que tem obviamente uma representa o decimal finita 0 1 n o possui uma representa o bin ria finita De facto 1 1 0 0 10100 1 0 0001 100110011 10 16 32 64 128 256 512 1024 Note se que esta representa o apesar de n o ser finita repete se A frac o Ya por exemplo n o possui uma expans o finita bin ria ou decimal Todos os n meros racionais admitem em qualquer base uma expans o finita ou uma expans o que se repete no caso da base decimal todo o racional pode ser escrito atrav s de uma d zima finita ou infinita peri dica Por outro lado os n meros irracionais admitem sempre expans es que n o se repetem Por exemplo V2 1 41421356237 1 011010100000100011 T 3 14159265358979 11 0010010000111111 e 2 71828182845905 10 10110111111000010 De um modo geral podemos dizer que a representa o de um n mero real x na base 10 3 Expans es obtidas atrav s do software Mathematica Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 39 x d d uid dad nie e d X10 d X10 d d x107 d x10 Analogamente para um n mero real x na base b temos x d d dod d 3d p a d xb d Xb d d Xb d Xb 5 a nfn Os d gitos d d d constituem a parte inteira e os d gitos d d d b parte fracc
39. para abreviar e em todas as refer ncias a estas duas m quinas diremos Casio CFX 9850 e Texas TI 83 respectivamente A escolha destas m quinas deve se ao facto destas serem as mais divulgadas e utilizadas nas escolas portuguesas 3 6 2 Casio CFX 9850 GB Plus Esta m quina possui uma mantissa de 15 d gitos apresentando os resultados no visor com uma mantissa de 10 d gitos O expoente disp e de dois d gitos ou seja 99 lt e lt 99 Assim sendo temos que o sistema de ponto flutuante utilizado por esta calculadora F 10 15 2 Vejamos por exemplo o caso de 3 Temos que 3 1 7320508075688772935 20 d gitos 3 Este valor foi obtido atrav s do software Mathematica Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 67 Esta m quina apresenta 4 3 como J3 1 T32050908 ou seja com 10 d gitos Para encontrar os outros cinco d gitos que internamente a m quina armazena podemos proceder do seguinte modo subtrai se ao resultado obtido o n mero que surge no visor com todos os algarismos excepto o ltimo Neste caso tem se T3 1 T320560808 Ans 1 T3205086 T JbSSTE HA ou seja v3 1 73205080756887 15 d gitos Note se que para o resultado apresentado no visor feito um arredondamento sim trico Quando se introduzem nesta m quina a partir do teclado n meros com mais de 10 d gitos ela trunca todos os algarismos a partir do d cimo prime
40. pode concluir que a gama de expoentes n o sim trica em torno da origem Por exemplo o n mero 1 1 000 0 x2 representado como 0 01111111 00000000000000000000000 CN 127 e portanto e 127 127 0 11 O n mero E 1 011 X2 representado como 0 10000001 01100000000000000000000 O n mero 1 10011001100 x2 n o tem uma express o bin ria finita Se optarmos ent o por proceder a uma truncatura de modo a ocupar o campo da mantissa vemos que ha dado por veremos posteriormente os outros modos de arredondamento previstos na norma IEEE 0 01111011 10011001100110011001100 por esta raz o que num sistema computacional que utilize base 2 o 100 somat rio 0 1 n o d exactamente 10 i l Vejamos outro exemplo No caso do n mero B a 10000100 10110011000001000000000 Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 50 o bit mais esquerda indica que o n mero positivo os 8 bits seguintes representam na base 10 o n mero 132 1x27 0x2 0x2 0x2 0x2 1x2 0x2 0x2 132 E portanto o expoente 132 127 5 A frac o 1 10110011000001000000000 1 27 22 42 27 2 2 Assim sendo estamos perante o n mero B 14214 23 424427 428 274 x2 54 376953125 O n mero que antecede B ES 10000100 10110011000000111111111 ou seja negao r ota a do po tio ao pon ua 54 37
41. rtido na realidade apenas Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 35 tinha obtido uma percentagem de 4 97 O deputado eleito deixou de o ser O fracasso ficou a dever se ao facto do resultado da vota o ter sido arredondado para 2 d gitos Reposta a legalidade o maior partido da regi o acabou por ter a maioria absoluta no Parlamento com a vantagem de um deputado Como refere M Gra a 30 claro que nenhuma trag dia equivalente s descritas acima dever ocorrer em resultado do uso de m quinas de calcular pelos alunos No entanto para se evitar que os alunos utilizem incorrectamente as m quinas de calcular os professores dever o alert los para as suas limita es pois indispens vel compreender a no o de n mero os v rios tipos de n meros as diferentes formas de representa o sobretudo as que s o usadas nas calculadoras e computadores as opera es admiss veis os erros cometidos e os seus efeitos nos resultados 50 pp 1 33 Por ltimo ser abordado o sistema de ponto flutuante das calculadoras gr ficas 3 2 Representa o de n meros inteiros Todos n s estamos familiarizados com a representa o de inteiros no sistema decimal A representa o de um n mero inteiro na base decimal consiste numa sequ ncia de algarismos em que cada um possui um valor que depende da respectiva posi o na representa o Assim por
42. s com sete d gitos decimais significativos consultar a tabela 3 6 Vejamos o seguinte exemplo Os Babil nios recorriam s seguintes duas aproxima es para V2 1 25 e 1 245110 Na base 10 tem se que 25 5 17 1 25 1 2 1 2 gt 1 41 6 e 1 25 60 12 12 6 osmose St 60 60 60 21600 1 41421 296 Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 65 Determinando os erros absoluto e relativo cometidos em cada uma das aproxima es temos 17 17 ne A 2 0024531042936 e R j 0017346066809624 12 J2 Por outro lado 30547 2047 47 5 994101x107 e R 1600 4 23846946x107 21600 V2 Em qualquer uma das aproxima es tem se que R lt A por ser V2 gt 1 m 3 6 Sistema de ponto flutuante das calculadoras gr ficas 3 6 1 Introdu o Quando se trabalha com uma calculadora h que ter em conta que esta est limitada ao sistema num rico de ponto flutuante que tem incorporado O sistema de n meros com que a calculadora trabalha n o como j foi referido o conjunto dos n meros reais nem sequer o dos racionais As calculadoras gr ficas utilizadas neste estudo suportam um conjunto de n meros da forma I M XI onde obviamente o n mero de d gitos na mantissa e no expoente s o limitados Para o expoente s o reservados dois d gitos o que permite expoentes de 99 a 99 enquanto qu
43. sultado temos que A B 1 0000000000000000000000 x 2 que um n mero menor do que Nin Sem o underflow gradual o resultado produzido o n mero zero este m todo designado por underflow s bito e ainda utilizado por alguns fabricantes de m quinas nomeadamente no caso das m quinas de calcular gr ficas que ser o utilizadas neste estudo Com o Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 53 underflow gradual o resultado 2 pode ser armazenado exactamente com uma representa o desnormalizada O 00000000 01000000000000000000000 A utiliza o deste m todo foi e ainda a parte mais controversa da norma IEEE com apoiantes e oponentes que apresentam as diversas raz es para justificar as suas opini es Apesar da introdu o deste m todo poder encarecer o hardware as vantagens do ponto de vista num rico prevalecem sobre os aspectos econ micos O formato duplo tem uma estrutura semelhante do formato simples mas utiliza 64 bits 1 para o sinal 11 para o expoente e 52 para a mantissa ver tabela 3 4 Assim o expoente pode variar entre 1022 e 1023 e a mantissa por via do bit impl cito disp e de 53 bits ou seja p 53 Se os bits do expoente a a a a s o Ent o o seu valor num rico 00000000000 0 o 0 b b b bo X2 00000000001 1 o DD db cubra X2 00000000010 2
44. tal que x b b b b 1 x2 onde p a precis o com b 1 e enn Se lt en para n meros normalizados e max com b 0 e e e para n meros desnormalizados Designemos por Nax O min maior n mero normalizado e por N in o menor n mero positivo normalizado Dizemos que ocorre overflow sempre que um c lculo produz um n mero x gt N ax Underflow ocorre quando um c lculo produz x lt N n e neste caso a m quina apresenta este n mero como zero No entanto nas m quinas que adoptem a norma IEEE 754 existe igualmente o underflow gradual o qual estudaremos posteriormente Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional A grandeza dos n meros que produzem overflow e underflow depende da m quina com que trabalhamos como ilustra a tabela 3 2 39 p 5 M quina Underflow Overflow DEC PDP 11 VAX formatos F e D 278 2 9x10 2 7 1 7x10 DEC PDP 10 Honeywell 600 6000 Univac 110x simples IBM 709X 704X 27 1 5x10 2 7 1 7x10 Burroughs 6X00 simples 8 8 8x10 8 4 3x10 DG Eclipse M 600 H P 3000 2 8 6x10 22 1 2x107 IBM 360 370 Amdahl1 16 54x107 16 7 2x10 Maioria das calculadoras manuais 10 101 CDC 6X00 7X00 Cyber 2 1 5x10 7 20 1 3x10 DEC VAX formato G UNIVAC 110X duplo 24 Es 5 6x10 z103 9x10
45. viados pelas suas componentes electr nicas O estado de impulso ON ou OFF Se identificarmos esses estados com os d gitos O e 1 obtemos de imediato uma correspond ncia entre os estados do computador e os n meros representados na forma bin ria usual designar por bit binary digit o elemento de mem ria b sico que assume os dois estados que se associam aos d gitos 0e1 Fun es e Calculadoras Gr ficas an lise de algumas infer ncias err neas Aritm tica Computacional 37 Se usarmos qualquer outra base para representar os n meros ent o cada um dos d gitos que representam o n mero nessa base ter de ser codificado na forma bin ria Se a base b for uma pot ncia de 2 essa codifica o muito simples Por exemplo para b 8 2 v o ser precisos 3 bits para representar cada um dos n meros 0 1 7 Representa o Representa o Representa o Representa o decimal bin ria decimal bin ria 0 100 1 5 101 2 6 110 3 011 7 111 Tabela 3 1 Com k bits obtemos 2 configura es Deste modo a representa o dos dez d gitos decimais requer 4 bits pois 2 8 e 2 16 ou seja 3 bits s o insuficientes j que apenas permitem 8 configura es e 4 bits permitem 16 configura es o que demais Este facto significa que a representa o decimal desperdi a bits e por conseguinte menos econ mica do que uma base que seja pot ncia de 2 Aliada a esta s
Download Pdf Manuals
Related Search
Related Contents
Behringer Eurolive B212/B215 User`s Manual UNMS II - ABB Application Platform Yonanas 986 Use and Care Manual Performing Job Order Tasks and Viewing Notifications UHP Range of Zero Air Generators User Guide Copyright © All rights reserved.
Failed to retrieve file