H
+eticia ndrade, +etAcia ei;eira, &araTanne -ornelas
ritmética de 'onto (lutuante Resumo – O artigo mostra a representação de números em ponto flutuante e a forma como são dispostos no que é chamado de cérebro de uma máquina digital. O processo de cálculo dentro de um computador pode gerar erros, que interferem de forma negativa nos resulta resultados dos obtido obtidos. s. Um projet projetoo feito feito com com um microc microcont ontrola rolador dor arduino arduino é sugerid sugeridoo para para compa comparar rar o resulta resultado do de uma máquina máquina seguindo o padrão !!! "#$. Palavras
Chave
(lutuante. !!!, -!, U)%.
–
%iná %inári rio, o, &orm &ormaa !!! !!! "# "#$, $, 'ont 'ontoo . )*+)
. &/O-U01O &/O-U01O (ig. H. /epresentação numérica em diferentes sistemas. 9IJ: aritmética de ponto flutuante é o processo utili2ado nos dispositivos eletr3nicos eletr3nicos com a finalidade de reali2ar operaç4es O sistema numérico mais utili2ado no cotidiano é o sistema matemáticas. !sse processo vai desde a recepção da variável decimal, conhecido também como sistema na %ase HJ. =á nos inseri inserida da através através do dispos dispositi itivo vo de entrada entrada,, con conver versão são no sist sistem emas as comp comput utac acio iona nais is a repr repres esen enta taçã çãoo na %ase %ase I ou sistema numérico utili2ado para o cálculo, até o resultado sist sistem emaa biná binári rioo é a op opçã çãoo do domi minan nante te 9K:. 9K:. )end )endoo assi assim, m, final da operação. e;istem algumas particularidades como conversão decimal e !sse !sse sist sistem emaa util utili2a i2a a repr repres esen entaç tação ão do conj conjun unto to de binária que os computadores devem reali2ar quando é número númeross reais, reais, eng englo loband bandoo também também número númeross raciona racionais is e inserido algum dado pelo usuário. irracionais, transformando5os em reais estendidos em acordo lgu lguns ns con once ceit itos os são são de suma suma impo import rtLn Lnci ciaa para para a com a norma !!! 6 Institute of Electrical and Electronic compreensão de como os números são arma2enados e os erros nstit itut utoo de !nge !ngenh nhei eiro ross !let !letri rici cist stas as e que podem ser causados por essas convers4es que não são Engineers- nst !letr3nicos7 "#$ para aritmética de ponto flutuante. sempre precisas. conv conver ersã sãoo feit feitaa pela pela máqu máquina ina faci facili lita ta a leit leitura ura e processamento do computador e também diminui o espaço de arma2enamento arma2enamento na mem8ria mem8ria 9":. 'orém 'orém e;istem e;istem erros erros de A. Ponto Flutuante compu computaç tação ão nesses nesses siste sistemas mas,, ond ondee fraç4e fraç4ess infinit infinitas as não M o sistema que quando arma2enado pelo computador fa2 a consegue conseguem m ser representadas representadas com precisão nas operaç4e operaç4ess repr repres esen entaç tação ão do doss numer numeros os a sere serem m util utili2 i2ad ados os em uma uma finitas do computador. computador. ssim, o resultado das operaç4es nesse operação 9HH:. sistema de ponto flutuante não é preciso e consequentemente Os números que são utili2ados nos cálculos computacionais capa2 capa2 de repres representa entarr e;atam e;atamente ente os número númeross reais reais e suas suas estão na base I, ou seja, são números binários, representados operaç4es 9<:. por J e H. Nuando é digitado um número no teclado do computador, ele é convertido para o sistema he;adecimal e . O%=!>O) posteriormente para o binário 9H:. ?ompreender ?ompreender como como os números são dispostos dispostos dentro do conversão direta entre o sistema binário e decimal ocorre comp comput utad ador or e a form formaa com com qu quee são são feit feitos os os cálc cálcul ulos os,, conforme mostrado a seguir. seguir. conhecendo os resultados, sendo eles positivos ou negativos. !ntender a problemática que envolve pontos flutuantes e suas operaç4es nas máquinas computadori2adas, bem como contr contras asta tarr os padr4e padr4ess da no norm rmaa !!! !!! "# "#$$ com com erro erross e incons inconsist ist@nc @ncia ia da conve conversã rsãoo de grande2 grande2as as con contAnu tAnuas as para para números binários. >. (U&-B!&01O !C/? s representaç4es numéricas podem ser feitas de diversas mane maneir iras as.. O sist sistem emaa a ser ser esc escolhi olhido do para para fa2e fa2err essa essa representação deve ser usado de maneira que independente do número de dAgitos, a fai;a de variação seja definida. solução solução para este caso é notação cientAfica que DflutuaE a vArgula mudando o e;poente. !;iste !;istem m qua quatro tro princip principais ais tipos tipos de repres represent entaç4 aç4es es de sistemasF -ecimal, Octal, Ge;adecimal e %inário.
(ig. I. /epresentação da conversão de um número decimal em binário. 9H:
'ara números fracionários utili2a5se a regra da multiplicação.
*raduandas em !ngenharia de ?ontrole e utomação utomação 5 (undação 'residente nt3nio nt3nio ?arlos 5 (U'?P?onselheiro (U'?P?onselheiro +afaiete, /od B*$QI, sPn Rm S, lmeidas ?onselheiro +afaiete, B*, ?!'FS<$JJ5JJJ, %rasil.
I
(ig. S. /epresentação da conversão de um número decimal fracionário em binário. 9H:
nalisando o segundo e;emplo, podemos perceber que se trata de um número que não possui representação binária finita. -esta forma, por mais avançado tecnologicamente que seja o computador, ele nunca poderá reali2ar operaç4es com o valor real de alguns de números deste tipo 9H:. O fato de alguns números não terem representação binária finita, influencia diretamente nas ocorr@ncias de erro. (ato que é aparentemente ine;plicável nos cálculos de dispositivos eletr3nicos 9H:. maior parte das fraç4es decimais não tem representação e;ata quando convertidas como fraç4es binárias. ?onsequentemente os números decimais de ponto flutuante digitados são apenas apro;imados pelos números binários de ponto flutuante realmente arma2enados na máquina 9I:. 'or e;emplo, se considerarmos a fração HPS. >oce pode apro;imá5la como uma fração de base HJ seja ela J.S ou J.SS ou J.SSS e assim por diante. &ão importa o número de dAgitos inserido, o resultado nunca será e;atamente HPS 9I:. 1.. Representação de um número no formato ponto flutuante
representação de um número em ponto flutuante é dada S partesF o sinal, a parte fracionária, que é chamada de mantissa e o e;poente 9H:.
(ig. #. /epresentação do arma2enamento da palavra do computador. 9H:
(ig. <. 'arLmetros de aritméticas de ponto flutuante utili2adas em alguns computadores digitais. 9H:
%.. Aritm&tica de ponto flutuante
Uma aritmética de ponto flutuante é representada por (6 min ma; W , t, e , e 7, que são quarto números inteiros. >eja abai;o um e;emplo para (6I,I,5H,I7
(ig. $. /epresentação do formato de número em ponto flutuante. 9H:
)endoF dF dAgitos da parte fracionária, dH J, J V di V W5HX WF base 6em geral I, HJ ou H<7X tF número de dAgitos na mantissaX eF e;poente inteiro.9H:
(ig. ". !;emplo da representação de uma aritmética de ponto flutuante. 9H:
2.. Palavra do computador
&o sistema computacioal, um dAgito binário é denominado
I! 6 "inar# digit 7. ! por sua ve2, um "#te é um conjuto de Q "its 9HS:.
representação de um dado dentro de um computador é feita por meio de um número finito de "its. este número finito, é dado o nome de $ord 6palavra de computador7. O tamanho da palavra depende das caracterAsticas internas da arquitetura da máquina 9HI: 9HS:. !m geral, os microcomputadores t@m tamanhos de palavra de H< e SI "its, e os mais modernos podem ter <$ "its9HS:. Nuanto maior o tamanho da palavra, mais velo2 ele precisa ser para que possa processar a quantidade de dados.
(ig. Q. (8rmula de aritmética de ponto flutuante. 9H:
?omo já mencionado, a representação de um número em um sistema de ponto flutuante é limitada, pois se trata de um sistema finito. !ssa limitação tem duas origensF (ai;a limitada de e;poentesF os e;poentes possuem fai;a limitada 6mAn e V e V e má;7. sso quer di2er, que caso um número tenha o e;poente superior ao limite, temos o fen3meno de Y overflo$Y, e caso ele seja inferior ao limite, temos o fen3meno de Yunderflo$Y.
*raduandas em !ngenharia de ?ontrole e utomação 5 (undação 'residente nt3nio ?arlos 5 (U'?P?onselheiro +afaiete, /od B*$QI, sPn Rm S, lmeidas ?onselheiro +afaiete, B*, ?!'FS<$JJ5JJJ, %rasil.
S
! por arredondamento simétrico, onde desconsidera5 se o algarismo que ficam ap8s a t5ésima casa decimal caso o número que fica na 6t[H75ésima seja menor que #. ! soma5se H ao algarismo na t5ésima caso seja maior que # 9H:9HJ:.
(ig. K. !;emplo de 'rverflo$ e (nderflo$. 9H:
+imitação da quantidade de números da mantissaF ?aso a mantissa possuia mais algarismo do que seu limite, parte desses algarismos serão perdidosF
(ig. H$. /epresentação de !rro 9H:
(ig. HJ. !;emplo de algarismos da mantissas acima do limite. 9H:
*. +orma IEEE ,
Nuando os computadores começaram a ser fabricados, eles apresentavam suas representaç4es numéricas de acordo com . An)lise de Erros seu pr8prio padrão 9Q:. Nuando, na conversão que era feita de /esultados obtidos através de cálculos eletr3nicos não são número decimal para binário e iam representar um número confiáveis. ?aso não tenhamos controle sobre os possAveis com uma fai;a de variação muito grande, como por e;emplo a massa do elétron, esses fabricantes utili2avam seu pr8prio erros, nenhum deles possuirá valor. &úmero apro;imado é quando não conhecemos o valor molde. norma ou padrão !!! "#$ 6&) P!!! )td "#$5HKQ#, real Z, e desta forma usamos o . Nuando é menor que Z, +e$ /or0 , HKQ# 5 IEEE tandard for inar# Floating-Point di2emos que é um número apro;imado por falta. ! quando é Aritmetic 7 9$:, foi publicada em HKQ#, e teve como objetivo maior, di2emos que a apro;imação é por e;cesso. direcionar fabricantes de computadores e construtores de soft$ares a tratar a aritmética binária para números de ponto flutuante no que di2 respeito ao arma2enamento, métodos de arredondamento, ocorr@ncia de underflo$ e overflo$, além, da reali2ação das operaç4es aritméticas básicas. (ig. HH. !;emplo de erro. 9H:
(ig. HI. !rro absoluto é a diferença entre o valor e;ato e o valor apro;imado. 9H:
?omo na prática quase nunca conhecemos o valor e;ato, fica praticamente impossAvel conhecer o erro. 'ara solucionar esse problema, é definida a cota para o erro, o que permitirá que mesmo não conhecendo o erro, possamos definir se ele está ou não dentro dos valores aceitáveis.
(ig. HS. /epresentação para cota de erro. 9H:
Os erros também podem ser provenientes de apro;imaç4es ou arredondamentos de cálculo, quando utili2amos apenas uma parte de um número ePou o arredondamos. Os erros por arredondamento são divididos em dois tiposF 'or truncamento, onde se despre2a os algarismos que ficam acima da 6t[H75ésima casa decimal 6t é o número de dAgitos da mantissa79H:9HJ:.
(ig. H#. lustração de (nderflo$ e 'verflo$. 9H$:
(oi dividido em dois formatos básicos para esses números que contemplam o formato simples, com $ "#tes ou SI "its e o duplo com Q "#tes ou <$ "its. )endo assim, foi acordado que o primeiro "it seria destinado ao sinal tendo como J a representação do número positivo e H a representação do número negativo. &o formato simples total de SI "its, o
*raduandas em !ngenharia de ?ontrole e utomação 5 (undação 'residente nt3nio ?arlos 5 (U'?P?onselheiro +afaiete, /od B*$QI, sPn Rm S, lmeidas ?onselheiro +afaiete, B*, ?!'FS<$JJ5JJJ, %rasil.
$
e;poente teria Q "its e a mantissa teria IS "its sendo o menor e;poente representado por \ HI< e o maior [HI" X no formato duplo 6total de <$ "its7, o e;poente teria HH "its e a mantissa #I "its 9S:.
(ig. H<. /epresentação de formatos SI e <$ "its. 9H#:
3. Arduino
(ig. HQ. rduino Uno. 9H<:
O rduino é uma plataforma eletr3nica de c8digo aberto que contém tanto ard$are quanto soft$are. E. 5atem)tica Intervalar ?om o passar dos anos o rduino tem sido como um tualmente e;iste uma grande dificuldade em modelar e cérebro para muitos projetos. !le foi desenvolvido pela Ivrea representar grande2as contAnuas em uma entidade de nature2a Interaction 3esign Institut como uma ferramenta simples finitária como o computador que utili2a métodos binários. O para criação de prot8tipos. )eu soft$are é acessAvel para iniciantes e fle;ivel o sistema de ponto flutuante não tem a capacidade de reali2ar suficiente para usuários com prática em programação. operaç4es com números fracionários reais por não conseguir liguagem de programação é dividida em tres principais representá5los e consequentemente não reflete de forma fiel a partesF estrutura, valores 6variáveis e constantes7 e funç4es. O realidade do cálculo 9HQ:. O sistema da máquina, quando rduino Integrated 3evelopment Environment 5 ou rduino comparado ao sistema algébrico de números reais é e;tremamente limitado 9H":. oft$are 6-!7 contem uma área de edição de te;to para matemática intervalar complementa um conjunto de escrever o c8digo, uma área de mensagem, uma barra de tarefas com bot4es para funç4es comuns e uma série de métodos a fim de manipular os intervalos numéricos que apro;imam as incerte2as dos dados. Os métodos utili2ados menus. !le é quem fa2 a comunicação com o ard$are. estão fundamentados em definição de aritmética intervalar e produto escalar 8timo. O controle automático de erro garante má;ima e;atidão no resultado da computação numérica. aritmética intervalar foi um método desenvolvido por um estudante da Universidade de tandford , /amon !. Boore, e tinha por finalidade produ2ir resultados confiáveis através de limites em erro de arredondamento 9HK: minimi2ando problemas causados por pontos flutuantes. >. ?O&?+U)]!)
(ig. H". ela do rduino oft$are 6-!7. 9H<:
Os programas escritos pelo rduino oft$are 6-!7 são chamados de s0etces. !stes são escritos no editor de te;to e salvos com a e;tensão de arquivo D.inoE. O editor apresenta caracteristicas de cortarPcolar e procurarPsubstituir o te;to. área de mensagem proporciona o feed"ac0 enquanto salva e e;porta e também e;ibe erros. Os ard$ares da rduino são subdivididos de acordo com a necessidade e conhecimento do usuário. (ormados por uma placa de circuito integrado que contém um microcontrolador com os componentes complementares de acordo com o seu tipo como pinos de entrada e saida 6 input4output ou PO7 alimentada pela entrada (niversal erial %us 6U)%7. maior parte das placas do arduino incluem um regulador linear de # volts.
pesar da &orma !!! "#$ padroni2ar os desvios de aritmética de ponto flutuante, em um procedimento e;tremamente preciso, os erros gerados podem produ2ir em resultado não seguro para o processo. O estudo para minimi2ação dos erros, além de útil, pode ser necessário, a fim de assegurar resultados. >. / !(!/^&?) 9H: ?álculo &umérico (aculdade de !ngenharia, rquiteturas e Urbanismo \ (!U 9I: U&!)' 5 Universidade !stadual 'aulista 9Online:. vailableF ___.feg.unesp.br 9S: U()? \ Universidade (ederal de )anta ?atarina 5 -epartamento de informática e !statAstica 5 Representação +um&rica segundo Padrão IEEE , 9Online:. vailableF httpFPP___.inf.ufsc.brP`luciana.rechPinde;arquivosP'adrao!!!"#$6ula HIJQ7.pdf
9$: U(/*) \ Universidade (ederal do /io *rande do )ul \ nstituto de nformática 9Online:. vailableF httpFPPinf.ufrgs.brP *raduandas em !ngenharia de ?ontrole e utomação 5 (undação 'residente nt3nio ?arlos 5 (U'?P?onselheiro +afaiete, /od B*$QI, sPn Rm S, lmeidas ?onselheiro +afaiete, B*, ?!'FS<$JJ5JJJ, %rasil.
#
9#: /BU \ /evista matemática universitária 5 Aritm&tica de Ponto Flutuante e An)lise de Erros 9Online:. vailableF httpFPPrmu.sbm.org.brP?onteudoPnHSPnHSrtigoJ$.pdf 9<: end@ncias em Batemática plicada e ?omputacional 5 Uma 'ublicação da )ociedade %rasileira de Batemática plicada e ?omputacional.httpsFPPtema.sbmac.org.brPtemaParticlePvie_PSKKPSS# 9": Universidade (ederal do /io *rande do )ul 5 +ume /eposit8rio digital 5 (so efetivo da matem)tica intervalar em supercomputadores vetoriais
9Online:. vailableF httpFPP___.lume.ufrgs.brPhandlePHJHQSPH"K<# 9Q: 'adrão !!! "#$ para números de 'onto (lutuante
9K: (!!? 5 (aculdade de !ngenharia !létrica e de ?omputação 9Online:. vailableF httpFPP___.dca.fee.unicamp.brP 9HJ: ritmética de ponto flutuante e análise de erros 5 Oscar G. %ustos 9HH: Universidade !stadual 'aulista 5 ?omputação e ?álculo numérico 9HI: (% 5 nstituto (ederal da %ahia 9Online:. vailableF ___.ifba.edu.br 9HS: U(% 5 Universidade (ederal da %ahia 9Online:. vailable ___.di.ufpb.br 9H$: Overflo_ Underflo_ 9Online:. vailableF httpsFPP)lide'laTer.com.br 9H#: !stándar !!! "#$ para la representaci8n en coma flotante 9H<: rduAno 9Online:. vailableF httpsFPP___.arduino.ccP 9H": (U/* 5 /eposit8rio nstitucional da Universidade (ederal do /io *rande 9Online:. vailableF httpFPPrepositorio.furg.brP 9HQ: U(+ \ Universidade (ederal de +avras. 5atem)tica Intervalar6 Princ7pios e a Ferramenta *-8* 9Online:. vailableF httpFPPrepositorio.ufla.brP 9HK: 'U? /io 5 'ontifAcia Universidade ?at8lica do /io de =aneiro 9Online:. vailable F httpFPP___I.dbd.puc5rio.brP 9IJ: grega 9Online:. httpFPPagrega.juntadeandalucia.esPrepositorioPJHHIIJHJP#bPes5 anIJHJHIJHHSKHIS
vailableF
*raduandas em !ngenharia de ?ontrole e utomação 5 (undação 'residente nt3nio ?arlos 5 (U'?P?onselheiro +afaiete, /od B*$QI, sPn Rm S, lmeidas ?onselheiro +afaiete, B*, ?!'FS<$JJ5JJJ, %rasil.