Número do tipo ponto flutuante com precisão estendida
Autor(a) principal: | |
---|---|
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 |