Sunteți pe pagina 1din 5

1

Leticia Andrade, Letcia Teixeira, Narayanne Dornelas

Aritmtica de Ponto Flutuante


Resumo O artigo mostra a representao de nmeros em
ponto flutuante e a forma como so dispostos no que chamado de
crebro de uma mquina digital. O processo de clculo dentro de um
computador pode gerar erros, que interferem de forma negativa nos
resultados obtidos. Um projeto feito com um microcontrolador
arduino sugerido para comparar o resultado de uma mquina
seguindo o padro IEEE 754.

Palavras Chave Binrio, Norma IEEE 754, Ponto


Flutuante.

I. SIGLAS
IEEE, IDE, USB.

II. INTRODUO
Fig. 1. Representao numrica em diferentes sistemas. [20]
A aritmtica de ponto flutuante o processo utilizado nos
dispositivos eletrnicos com a finalidade de realizar operaes O sistema numrico mais utilizado no cotidiano o sistema
matemticas. Esse processo vai desde a recepo da varivel decimal, conhecido tambm como sistema na Base 10. J nos
inserida atravs do dispositivo de entrada, converso no sistemas computacionais a representao na Base 2 ou
sistema numrico utilizado para o clculo, at o resultado sistema binrio a opo dominante [9]. Sendo assim,
final da operao. existem algumas particularidades como converso decimal e
Esse sistema utiliza a representao do conjunto de binria que os computadores devem realizar quando
nmeros reais, englobando tambm nmeros racionais e inserido algum dado pelo usurio.
irracionais, transformando-os em reais estendidos em acordo Alguns conceitos so de suma importncia para a
com a norma IEEE (Institute of Electrical and Electronic compreenso de como os nmeros so armazenados e os erros
Engineers- Instituto de Engenheiros Eletricistas e que podem ser causados por essas converses que no so
Eletrnicos) 754 para aritmtica de ponto flutuante. sempre precisas.
A converso feita pela mquina facilita a leitura e
processamento do computador e tambm diminui o espao de
armazenamento na memria [7]. Porm existem erros de A. Ponto Flutuante
computao nesses sistemas, onde fraes infinitas no o sistema que quando armazenado pelo computador faz a
conseguem ser representadas com preciso nas operaes representao dos numeros a serem utilizados em uma
finitas do computador. Assim, o resultado das operaes nesse operao [11].
sistema de ponto flutuante no preciso e consequentemente Os nmeros que so utilizados nos clculos computacionais
capaz de representar exatamente os nmeros reais e suas esto na base 2, ou seja, so nmeros binrios, representados
operaes [6]. por 0 e 1. Quando digitado um nmero no teclado do
computador, ele convertido para o sistema hexadecimal e
III. OBJETIVOS posteriormente para o binrio [1].
Compreender como os nmeros so dispostos dentro do A converso direta entre o sistema binrio e decimal ocorre
computador e a forma com que so feitos os clculos, conforme mostrado a seguir.
conhecendo os resultados, sendo eles positivos ou negativos.
Entender a problemtica que envolve pontos flutuantes e
suas operaes nas mquinas computadorizadas, bem como
contrastar os padres da norma IEEE 754 com erros e
inconsistncia da converso de grandezas contnuas para
nmeros binrios.

IV. FUNDAMENTAO TERICA


As representaes numricas podem ser feitas de diversas
maneiras. O sistema a ser escolhido para fazer essa
representao deve ser usado de maneira que independente do Fig. 2. Representao da converso de um nmero decimal em binrio. [1]
nmero de dgitos, a faixa de variao seja definida. A soluo
para este caso notao cientfica que flutua a vrgula Para nmeros fracionrios utiliza-se a regra da multiplicao.
mudando o expoente.
Existem quatro principais tipos de representaes de
sistemas: Decimal, Octal, Hexadecimal e Binrio.

Graduandas em Engenharia de Controle e Automao - Fundao Presidente Antnio Carlos - FUPAC/Conselheiro Lafaiete, Rod MG482, s/n Km 3, Almeidas
Conselheiro Lafaiete, MG, CEP:36400-000, Brasil.
2

Fig. 3. Representao da converso de um nmero decimal fracionrio em Fig. 5. Representao do armazenamento da palavra do computador. [1]
binrio. [1]

Analisando o segundo exemplo, podemos perceber que se


trata de um nmero que no possui representao binria
finita. Desta forma, por mais avanado tecnologicamente que
seja o computador, ele nunca poder realizar operaes com o
valor real de alguns de nmeros deste tipo [1].
O fato de alguns nmeros no terem representao binria
finita, influencia diretamente nas ocorrncias de erro. Fato
que aparentemente inexplicvel nos clculos de dispositivos
eletrnicos [1].
A maior parte das fraes decimais no tem representao
exata quando convertidas como fraes binrias.
Consequentemente os nmeros decimais de ponto flutuante
digitados so apenas aproximados pelos nmeros binrios de
ponto flutuante realmente armazenados na mquina [2].
Por exemplo, se considerarmos a frao 1/3. Voce pode
aproxim-la como uma frao de base 10 seja ela 0.3 ou 0.33
ou 0.333 e assim por diante. No importa o nmero de dgitos Fig. 6. Parmetros de aritmticas de ponto flutuante utilizadas em alguns
inserido, o resultado nunca ser exatamente 1/3 [2]. computadores digitais. [1]

1.. Representao de um nmero no formato ponto flutuante


A representao de um nmero em ponto flutuante dada 3 3.. Aritmtica de ponto flutuante
partes: o sinal, a parte fracionria, que chamada de Uma aritmtica de ponto flutuante representada por
mantissa e o expoente [1]. F( min max , t, e , e ), que so quarto nmeros inteiros. Veja
abaixo um exemplo para F(2,2,-1,2)

Fig. 4. Representao do formato de nmero em ponto flutuante. [1]

Sendo:
d: dgitos da parte fracionria, d1 0, 0 di -1;
: base (em geral 2, 10 ou 16);
t: nmero de dgitos na mantissa;
e: expoente inteiro.[1] Fig. 7. Exemplo da representao de uma aritmtica de ponto flutuante. [1]

2.. Palavra do computador


No sistema computacioal, um dgito binrio denominado
BIT (binary digit). E por sua vez, um byte um conjuto de 8
bits [13].
A representao de um dado dentro de um computador Fig. 8. Frmula de aritmtica de ponto flutuante. [1]
feita por meio de um nmero finito de bits. A este nmero
finito, dado o nome de word (palavra de computador). O Como j mencionado, a representao de um nmero em
tamanho da palavra depende das caractersticas internas da um sistema de ponto flutuante limitada, pois se trata de um
arquitetura da mquina [12] [13]. sistema finito.
Em geral, os microcomputadores tm tamanhos de palavra Essa limitao tem duas origens:
de 16 e 32 bits, e os mais modernos podem ter 64 bits[13].
Faixa limitada de expoentes: os expoentes possuem
Quanto maior o tamanho da palavra, mais veloz ele precisa
faixa limitada (mn e e e mx). Isso quer dizer,
ser para que possa processar a quantidade de dados.
que caso um nmero tenha o expoente superior ao
limite, temos o fenmeno de "overflow", e caso ele
seja inferior ao limite, temos o fenmeno de
"underflow".

Graduandas em Engenharia de Controle e Automao - Fundao Presidente Antnio Carlos - FUPAC/Conselheiro Lafaiete, Rod MG482, s/n Km 3, Almeidas
Conselheiro Lafaiete, MG, CEP:36400-000, Brasil.
3

E por arredondamento simtrico, onde desconsidera-


se o algarismo que ficam aps a t-sima casa decimal
caso o nmero que fica na (t+1)-sima seja menor
que 5. E soma-se 1 ao algarismo na t-sima caso seja
maior que 5 [1][10].

Fig. 9. Exemplo de Orverflow e Underflow. [1]

Limitao da quantidade de nmeros da mantissa:


Caso a mantissa possuia mais algarismo do que seu
limite, parte desses algarismos sero perdidos:

Fig. 14. Representao de Erro [1]

C. Norma IEEE 754


Fig. 10. Exemplo de algarismos da mantissas acima do limite. [1]
Quando os computadores comearam a ser fabricados, eles
apresentavam suas representaes numricas de acordo com
B. Anlise de Erros seu prprio padro [8]. Quando, na converso que era feita de
Resultados obtidos atravs de clculos eletrnicos no so nmero decimal para binrio e iam representar um nmero
confiveis. Caso no tenhamos controle sobre os possveis com uma faixa de variao muito grande, como por exemplo
erros, nenhum deles possuir valor. a massa do eltron, esses fabricantes utilizavam seu prprio
molde.
Nmero aproximado quando no conhecemos o valor
A norma ou padro IEEE 754 (ANSI /IEEE Std 754-1985,
real X, e desta forma usamos o . Quando menor que X, New York, 1985 - IEEE Standard for Binary Floating-Point
dizemos que um nmero aproximado por falta. E quando Arithmetic) [4], foi publicada em 1985, e teve como objetivo
maior, dizemos que a aproximao por excesso. direcionar fabricantes de computadores e construtores de
softwares a tratar a aritmtica binria para nmeros de ponto
flutuante no que diz respeito ao armazenamento, mtodos de
arredondamento, ocorrncia de underflow e overflow, alm,
Fig. 11. Exemplo de erro. [1]
da realizao das operaes aritmticas bsicas.

Fig. 12. Erro absoluto a diferena entre o valor exato e o valor aproximado.
[1]

Como na prtica quase nunca conhecemos o valor exato,


fica praticamente impossvel conhecer o erro. Para solucionar
esse problema, definida a cota para o erro, o que permitir
que mesmo no conhecendo o erro, possamos definir se ele
est ou no dentro dos valores aceitveis.

Fig. 13. Representao para cota de erro. [1]

Os erros tambm podem ser provenientes de aproximaes


ou arredondamentos de clculo, quando utilizamos apenas Fig. 15. Ilustrao de Underflow e Overflow. [14]
uma parte de um nmero e/ou o arredondamos. Os erros por
Foi dividido em dois formatos bsicos para esses nmeros
arredondamento so divididos em dois tipos:
que contemplam o formato simples, com 4 bytes ou 32 bits e
Por truncamento, onde se despreza os algarismos que o duplo com 8 bytes ou 64 bits. Sendo assim, foi acordado
ficam acima da (t+1)-sima casa decimal (t o que o primeiro bit seria destinado ao sinal tendo como 0 a
nmero de dgitos da mantissa)[1][10]. representao do nmero positivo e 1 a representao do
nmero negativo. No formato simples total de 32 bits, o
Graduandas em Engenharia de Controle e Automao - Fundao Presidente Antnio Carlos - FUPAC/Conselheiro Lafaiete, Rod MG482, s/n Km 3, Almeidas
Conselheiro Lafaiete, MG, CEP:36400-000, Brasil.
4

expoente teria 8 bits e a mantissa teria 23 bits sendo o menor


expoente representado por 126 e o maior +127 ; no formato
duplo (total de 64 bits), o expoente teria 11 bits e a mantissa
52 bits [3].

Fig. 16. Representao de formatos 32 e 64 bits. [15]

D. Arduino Fig. 18. Arduino Uno. [16]


O Arduino uma plataforma eletrnica de cdigo aberto
que contm tanto hardware quanto software. E. Matemtica Intervalar
Com o passar dos anos o Arduino tem sido como um
crebro para muitos projetos. Ele foi desenvolvido pela Ivrea Atualmente existe uma grande dificuldade em modelar e
Interaction Design Institut como uma ferramenta simples representar grandezas contnuas em uma entidade de natureza
para criao de prottipos. finitria como o computador que utiliza mtodos binrios. O
Seu software acessvel para iniciantes e flexivel o sistema de ponto flutuante no tem a capacidade de realizar
suficiente para usurios com prtica em programao. A operaes com nmeros fracionrios reais por no conseguir
liguagem de programao dividida em tres principais represent-los e consequentemente no reflete de forma fiel a
partes: estrutura, valores (variveis e constantes) e funes. O realidade do clculo [18]. O sistema da mquina, quando
Arduino Integrated Development Environment - ou Arduino comparado ao sistema algbrico de nmeros reais
Software (IDE) contem uma rea de edio de texto para extremamente limitado [17].
escrever o cdigo, uma rea de mensagem, uma barra de A matemtica intervalar complementa um conjunto de
tarefas com botes para funes comuns e uma srie de mtodos a fim de manipular os intervalos numricos que
menus. Ele quem faz a comunicao com o hardware. aproximam as incertezas dos dados. Os mtodos utilizados
esto fundamentados em definio de aritmtica intervalar e
produto escalar timo. O controle automtico de erro garante
mxima exatido no resultado da computao numrica.
A aritmtica intervalar foi um mtodo desenvolvido por um
estudante da Universidade de Standford, Ramon E. Moore, e
tinha por finalidade produzir resultados confiveis atravs de
limites em erro de arredondamento [19] minimizando
problemas causados por pontos flutuantes.

V. CONCLUSES

Apesar da Norma IEEE 754 padronizar os desvios de


aritmtica de ponto flutuante, em um procedimento
extremamente preciso, os erros gerados podem produzir em
resultado no seguro para o processo.
Fig. 17. Tela do Arduino Software (IDE). [16]
O estudo para minimizao dos erros, alm de til, pode
Os programas escritos pelo Arduino Software (IDE) so ser necessrio, a fim de assegurar resultados.
chamados de sketches. Estes so escritos no editor de texto e
salvos com a extenso de arquivo .ino. O editor apresenta VI. REFERNCIAS
caracteristicas de cortar/colar e procurar/substituir o texto. A
[1] Clculo Numrico
rea de mensagem proporciona o feedback enquanto salva e Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU
exporta e tambm exibe erros.
Os hardwares da Arduino so subdivididos de acordo com a [2] UNESP - Universidade Estadual Paulista [Online]. Available:
www.feg.unesp.br
necessidade e conhecimento do usurio. Formados por uma
placa de circuito integrado que contm um microcontrolador [3] UFSC Universidade Federal de Santa Catarina - Departamento de
com os componentes complementares de acordo com o seu informtica e Estatstica - Representao Numrica segundo Padro
tipo como pinos de entrada e saida (input/output ou I/O) IEEE 754 [Online]. Available:
http://www.inf.ufsc.br/~luciana.rech/index_arquivos/PadraoIEEE754(Aula
alimentada pela entrada Universal Serial Bus (USB). A maior _1208).pdf
parte das placas do arduino incluem um regulador linear de 5
volts. [4] UFRGS Universidade Federal do Rio Grande do Sul Instituto de
Informtica [Online]. Available: http://inf.ufrgs.br/
Graduandas em Engenharia de Controle e Automao - Fundao Presidente Antnio Carlos - FUPAC/Conselheiro Lafaiete, Rod MG482, s/n Km 3, Almeidas
Conselheiro Lafaiete, MG, CEP:36400-000, Brasil.
5

[5] RMU Revista matemtica universitria - Aritmtica de Ponto Flutuante


e Anlise de Erros [Online]. Available:
http://rmu.sbm.org.br/Conteudo/n13/n13_Artigo04.pdf

[6] Tendncias em Matemtica Aplicada e Computacional - Uma Publicao


da Sociedade Brasileira de Matemtica Aplicada e
Computacional.https://tema.sbmac.org.br/tema/article/view/399/335

[7] Universidade Federal do Rio Grande do Sul - Lume Repositrio digital -


Uso efetivo da matemtica intervalar em supercomputadores vetoriais
[Online]. Available: http://www.lume.ufrgs.br/handle/10183/17965

[8] Padro IEEE 754 para nmeros de Ponto Flutuante

[9] FEEC - Faculdade de Engenharia Eltrica e de Computao [Online].


Available: http://www.dca.fee.unicamp.br/

[10] Aritmtica de ponto flutuante e anlise de erros - Oscar H. Bustos

[11] Universidade Estadual Paulista - Computao e Clculo numrico

[12] IFBA - Instituto Federal da Bahia [Online]. Available: www.ifba.edu.br

[13] UFBA - Universidade Federal da Bahia [Online]. Available www.di.ufpb.br

[14] Overflow Underflow [Online]. Available: https://SlidePlayer.com.br

[15] Estndar IEEE 754 para la representacin en coma flotante

[16] Arduno [Online]. Available: https://www.arduino.cc/

[17] FURG - Repositrio Institucional da Universidade Federal do Rio Grande


[Online]. Available: http://repositorio.furg.br/

[18] UFLA Universidade Federal de Lavras. Matemtica Intervalar:


Princpios e a Ferramenta C-XSC [Online]. Available:
http://repositorio.ufla.br/

[19] PUC Rio - Pontifcia Universidade Catlica do Rio de Janeiro [Online].


Available : http://www2.dbd.puc-rio.br/

[20] Agrega [Online]. Available:


http://agrega.juntadeandalucia.es/repositorio/01122010/5b/es-
an_2010120113_9123616/ODE-2959b48f-05a3-31f9-a1cf-
c699732814a5/tabla1.jpg

Graduandas em Engenharia de Controle e Automao - Fundao Presidente Antnio Carlos - FUPAC/Conselheiro Lafaiete, Rod MG482, s/n Km 3, Almeidas
Conselheiro Lafaiete, MG, CEP:36400-000, Brasil.

S-ar putea să vă placă și