Número do tipo ponto flutuante com precisão estendida

Detalhes bibliográficos
Autor(a) principal: Nunes, Richardson Leandro [UNESP]
Data de Publicação: 2008
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UNESP
Texto Completo: http://hdl.handle.net/11449/88844
Resumo: A execução de cálculos computaciona is é limit ada pela precisão que as linguagens de programação podem fornecer. Os compiladores possuem formatos de números com informação insuficiente para realizar cálculos que exijam grande precisão, porém, possuem ferramentas que possibilitam a criação de formatos extras. Utilizando o conceito de classe, é possíve l criar objetos computacionais e métodos. Visando solucionar problemas de precisão criou-se uma classe na qual o objeto é um número de ponto flutuante aqui chamado de Sfloat. A classe implementada em C++ é composta de um arranjo de variáveis booleanas de tamanho arbitrário para representar os bit s de um número de ponto flutuante e os métodos de classe para representar operadores aritmét icos e lógicos. Os operadores binários aritmét icos estão sobrecarregados, ou seja, os quatro operadores já existentes (“+”, “-”, “*” e “/”) podem ut ilizar números Sfloat como argumentos. Os operadores binários lógicos relacionais (<, >, <=, >=, ==, !=) seguem o mesmo modelo dos binários aritmét icos, sendo sobrecarregados para ut ilizar Sfloat como argumento. Para somar dois argumentos, soma-se dígito a dígito os dois argumentos. A subtração, na verdade, é a soma de um número posit ivo com um negat ivo, de modo que pode ser executada da mesma maneira que o operador soma, porém invertendo o sinal do segundo argumento. Na mult iplicação, somam-se as mult iplicações parciais de cada dígito de um dos fatores pelo outro fator, ou seja, a mult iplicação é executada como um somatório de mult iplicações parcia is. A divisão forma os dígitos do quociente verificando sempre qual o maior núme ro inteiro que pode mult iplicar o divisor sem ultrapassar o valor do dividendo. Sfloat foi ut ilizado para cálculos simples de soma, subtração...
id UNSP_6d31d69eef0bee79000d70c6a702d64c
oai_identifier_str oai:repositorio.unesp.br:11449/88844
network_acronym_str UNSP
network_name_str Repositório Institucional da UNESP
repository_id_str 2946
spelling Número do tipo ponto flutuante com precisão estendidaAritmetica de computadorAritmetica de virgula flutuanteProgramação orientada a objeto (computação)Computer arithmeticA execução de cálculos computaciona is é limit ada pela precisão que as linguagens de programação podem fornecer. Os compiladores possuem formatos de números com informação insuficiente para realizar cálculos que exijam grande precisão, porém, possuem ferramentas que possibilitam a criação de formatos extras. Utilizando o conceito de classe, é possíve l criar objetos computacionais e métodos. Visando solucionar problemas de precisão criou-se uma classe na qual o objeto é um número de ponto flutuante aqui chamado de Sfloat. A classe implementada em C++ é composta de um arranjo de variáveis booleanas de tamanho arbitrário para representar os bit s de um número de ponto flutuante e os métodos de classe para representar operadores aritmét icos e lógicos. Os operadores binários aritmét icos estão sobrecarregados, ou seja, os quatro operadores já existentes (“+”, “-”, “*” e “/”) podem ut ilizar números Sfloat como argumentos. Os operadores binários lógicos relacionais (<, >, <=, >=, ==, !=) seguem o mesmo modelo dos binários aritmét icos, sendo sobrecarregados para ut ilizar Sfloat como argumento. Para somar dois argumentos, soma-se dígito a dígito os dois argumentos. A subtração, na verdade, é a soma de um número posit ivo com um negat ivo, de modo que pode ser executada da mesma maneira que o operador soma, porém invertendo o sinal do segundo argumento. Na mult iplicação, somam-se as mult iplicações parciais de cada dígito de um dos fatores pelo outro fator, ou seja, a mult iplicação é executada como um somatório de mult iplicações parcia is. A divisão forma os dígitos do quociente verificando sempre qual o maior núme ro inteiro que pode mult iplicar o divisor sem ultrapassar o valor do dividendo. Sfloat foi ut ilizado para cálculos simples de soma, subtração...Solut ion of computational problems involving float ing point numbers is limit ed by the accuracy that softwares can deliver. Most found compilers have usually float ing point kinds that are incapable to support the solut ion of numerical problems that need large accuracy on the final result or on the int ermediate comput ing steps. But such compilers are extensible allowing the development of derived data types and abstract data types and classes of high-accuracy numbers of float ing point kind. Using the c lass concept, it is possible to create computat ional objects and to implement methods (or member funct ions) owned by the object and that will act on the object data (or member variables). Aiming to solve numerical problems that happen in scient ific comput ing it was implemented a class to create float ing point numbers wit h high accuracy and range. That class was ca lled Sfloat. That class was implemented using a C++ compiler and is composed by an array of bits with variable size at compiler t ime. That extended float ing point number is based on the IEEE standard for float ing point numbers. The array bits carr y informat ion about signal (the first bit), exponent and mant issa. By varying it s array s ize it is possible to use hundreds or even thousands of bit s and so the mant issa precision can be very accurate with tens, hundreds or even thousands of decimal places, and also the exponent range can be very broad. Arithmet ic operators (+, -, *, /) can be overloaded in most compilers and also under C++ compilers. Overloading was used in this development by extending the meaning of the arithmet ic operators to allow its use also wit h Sfloat. Overloading process was also used to implement the relat ional logic operators. Nowadays, Sfloat can be used in implementat ions of most numerica l algorithms where is used arithmet... (Complete abstract click electronic access below)Universidade Estadual Paulista (Unesp)Aparecido, João Batista [UNESP]Universidade Estadual Paulista (Unesp)Nunes, Richardson Leandro [UNESP]2014-06-11T19:23:38Z2014-06-11T19:23:38Z2008-03-31info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis93 f.application/pdfNUNES, Richardson Leandro. Número do tipo ponto flutuante com precisão estendida. 2008. 93 f. Dissertação (mestrado) - Universidade Estadual Paulista Júlio de Mesquita Filho, Faculdade de Engenharia de Ilha Solteira, 2008.http://hdl.handle.net/11449/88844000716922nunes_rl_me_ilha.pdf33004099082P20201002648068135Alephreponame:Repositório Institucional da UNESPinstname:Universidade Estadual Paulista (UNESP)instacron:UNESPporinfo:eu-repo/semantics/openAccess2024-08-05T18:15:45Zoai:repositorio.unesp.br:11449/88844Repositório InstitucionalPUBhttp://repositorio.unesp.br/oai/requestopendoar:29462024-08-05T18:15:45Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)false
dc.title.none.fl_str_mv Número do tipo ponto flutuante com precisão estendida
title Número do tipo ponto flutuante com precisão estendida
spellingShingle Número do tipo ponto flutuante com precisão estendida
Nunes, Richardson Leandro [UNESP]
Aritmetica de computador
Aritmetica de virgula flutuante
Programação orientada a objeto (computação)
Computer arithmetic
title_short Número do tipo ponto flutuante com precisão estendida
title_full Número do tipo ponto flutuante com precisão estendida
title_fullStr Número do tipo ponto flutuante com precisão estendida
title_full_unstemmed Número do tipo ponto flutuante com precisão estendida
title_sort Número do tipo ponto flutuante com precisão estendida
author Nunes, Richardson Leandro [UNESP]
author_facet Nunes, Richardson Leandro [UNESP]
author_role author
dc.contributor.none.fl_str_mv Aparecido, João Batista [UNESP]
Universidade Estadual Paulista (Unesp)
dc.contributor.author.fl_str_mv Nunes, Richardson Leandro [UNESP]
dc.subject.por.fl_str_mv Aritmetica de computador
Aritmetica de virgula flutuante
Programação orientada a objeto (computação)
Computer arithmetic
topic Aritmetica de computador
Aritmetica de virgula flutuante
Programação orientada a objeto (computação)
Computer arithmetic
description A execução de cálculos computaciona is é limit ada pela precisão que as linguagens de programação podem fornecer. Os compiladores possuem formatos de números com informação insuficiente para realizar cálculos que exijam grande precisão, porém, possuem ferramentas que possibilitam a criação de formatos extras. Utilizando o conceito de classe, é possíve l criar objetos computacionais e métodos. Visando solucionar problemas de precisão criou-se uma classe na qual o objeto é um número de ponto flutuante aqui chamado de Sfloat. A classe implementada em C++ é composta de um arranjo de variáveis booleanas de tamanho arbitrário para representar os bit s de um número de ponto flutuante e os métodos de classe para representar operadores aritmét icos e lógicos. Os operadores binários aritmét icos estão sobrecarregados, ou seja, os quatro operadores já existentes (“+”, “-”, “*” e “/”) podem ut ilizar números Sfloat como argumentos. Os operadores binários lógicos relacionais (<, >, <=, >=, ==, !=) seguem o mesmo modelo dos binários aritmét icos, sendo sobrecarregados para ut ilizar Sfloat como argumento. Para somar dois argumentos, soma-se dígito a dígito os dois argumentos. A subtração, na verdade, é a soma de um número posit ivo com um negat ivo, de modo que pode ser executada da mesma maneira que o operador soma, porém invertendo o sinal do segundo argumento. Na mult iplicação, somam-se as mult iplicações parciais de cada dígito de um dos fatores pelo outro fator, ou seja, a mult iplicação é executada como um somatório de mult iplicações parcia is. A divisão forma os dígitos do quociente verificando sempre qual o maior núme ro inteiro que pode mult iplicar o divisor sem ultrapassar o valor do dividendo. Sfloat foi ut ilizado para cálculos simples de soma, subtração...
publishDate 2008
dc.date.none.fl_str_mv 2008-03-31
2014-06-11T19:23:38Z
2014-06-11T19:23:38Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv NUNES, Richardson Leandro. Número do tipo ponto flutuante com precisão estendida. 2008. 93 f. Dissertação (mestrado) - Universidade Estadual Paulista Júlio de Mesquita Filho, Faculdade de Engenharia de Ilha Solteira, 2008.
http://hdl.handle.net/11449/88844
000716922
nunes_rl_me_ilha.pdf
33004099082P2
0201002648068135
identifier_str_mv NUNES, Richardson Leandro. Número do tipo ponto flutuante com precisão estendida. 2008. 93 f. Dissertação (mestrado) - Universidade Estadual Paulista Júlio de Mesquita Filho, Faculdade de Engenharia de Ilha Solteira, 2008.
000716922
nunes_rl_me_ilha.pdf
33004099082P2
0201002648068135
url http://hdl.handle.net/11449/88844
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 93 f.
application/pdf
dc.publisher.none.fl_str_mv Universidade Estadual Paulista (Unesp)
publisher.none.fl_str_mv Universidade Estadual Paulista (Unesp)
dc.source.none.fl_str_mv Aleph
reponame:Repositório Institucional da UNESP
instname:Universidade Estadual Paulista (UNESP)
instacron:UNESP
instname_str Universidade Estadual Paulista (UNESP)
instacron_str UNESP
institution UNESP
reponame_str Repositório Institucional da UNESP
collection Repositório Institucional da UNESP
repository.name.fl_str_mv Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)
repository.mail.fl_str_mv
_version_ 1808128163052519424