TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Tps De Calculo

Casos: Tps De Calculo. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  25/3/2015  •  1.662 Palavras (7 Páginas)  •  362 Visualizações

Página 1 de 7

Sistemas de Numeração e erros

1.1 Aritmética de Ponto Flutuante

Entre 1970 e 1980 um grupo formado por cientistas e engenheiros de diferentes empresas de computação realizou um trabalho intenso na tentativa de encontrar um padrão de representação dos números, que deveria ser adotado por todas as industrias na construção de seus computadores. A necessidade desta padronização tinha como principal objetivo de uniformizar os resultados obtidos por um mesmo programa computacional executado em diferentes maquinas.

Esta discussão teve inıcio em 1976, e este grupo de trabalho ficou conhecido como

IEEEp754, pois foi organizado pelo Institute for Electrical and Electronics Engineers IEEE. Entre os fabricantes estavam Apple, Zilog, DEC, Intel, Hewlett-Packard, Motorola e National Semiconductor. O prof. William Kahan liderava o grupo de cientistas e pelo trabalho desenvolvido neste projeto, recebeu o premio Turing Prize em 1989.

Este projeto tinha como metas principais: especificar como representar os números em precisão simples e dupla; padronizar o arredondamento nas operações neste sistema; estabelecer critérios para padronizar situações como divisão por zero, operações envolvendo infinito.

Em 1985 o resultado deste trabalho foi publicado e ficou conhecido oficialmente como ANSI/IEEE Std 754-1985.

Representação em precisão simples e dupla

A base numérica no padrão IEEE754 e a binaria. Neste padrão são adotados dois formatos para representação de números: precisão simples e precisão dupla. (Na base binaria, um dıgito binário e denominado bit e um byte e um conjunto de 8 bits).

Ficou estabelecido que no padrão IEEE754, em precisão simples, um numero real seria representado por 32 bits, (4 bytes), sendo que:

1 bit e reservado para o sinal do numero (positivo ou negativo); 8 bits são reservados para o expoente da base, que e um numero inteiro; 23 bits sao reservados para a mantissa:

± e1e2 e8 d1d2 . . . d23

Sobre a representação do expoente e: os 8 bits reservados para representar o expoente devem conter também a informação do sinal deste expoente. No padrão IEEE754, a sequencia de 8 bits armazena o numero s = e + 127. Desta forma, evita–se o teste sobre o valor do bit para saber se o numero e positivo ou negativo e para recuperar o expoente, e realizada a operação e = s − 127.

Para obter a forma como o expoente será armazenado podemos também trabalhar

E importante destacar que as sequencias de bits para o expoente: (0) e (1) sao reservadas para representar o zero, e infinito ou ocorrência de erro (NaN: not a number) respectivamente.

O maior expoente e representado pela sequencia (11111110)2 que, na base 10, representa

Considerando agora a representação da mantissa. Vimos que no sistema normalizado d1 6= 0. Dado que a base e dois, teremos que o primeiro dıgito no sistema normalizado será sempre igual a 1 e por esta razão não e armazenado. E o denominado bit escondido. Esta normalização permite um ganho na precisão, pois podemos considerar que a mantissa e armazenada em 24 bits.

pois, o expoente −3 e representando pela sequencia (01111100)2 conforme vimos 2 anteriormente, e a mantissa tem apenas um dıgito significativo, que e armazenado no bit escondido, pois o sistema e normalizado. Logo, os 23 bits para a mantissa ficam iguais a zero.

Considerando agora o numero:

A menor mantissa e 0.1 e o menor expoente (00000001)2, então o menor numero

O maior numero positivo terá como mantissa um numero com 24 bits iguais a um e

Qualquer resultado acima de +3.4 ∗ 1038 ou abaixo de −3.4 ∗ 1038 resultara em ±∞ (overflow) e serão representados por:

O zero e representado com as sequencias de bits todos nulos tanto para o expoente quanto para a mantissa:

Se a sequencia de bits para o expoente for nula e a sequencia de bits para a mantissa for não nula então, temos a ocorrência de números menores que 2−126 ≈ 1.2∗10−38, que não estarão na forma normalizada, isto e, o primeiro dıgito da mantissa não será igual a 1. Por exemplo:

Se a sequencia de bits para o expoente for composta por todos dígitos iguais a um e a sequencia de bits para a mantissa for não nula então temos o ocorrência dos denominados NaN: Not a Number, que representam resultados de expressões invalidas como: 0∗∞; 0/0; ∞/∞;

Ha um consenso que certas expressões, ainda que envolvam ∞ ou zero, tenham um resultado plausível, tais como: z ∗ 0 = 0; z/0 = +∞, se z > 0; z/0 = −∞, se z < 0; z ∗∞ = ∞. ∞+∞=∞.

Observamos que a justificativa para a convenção em se adotar NaN para ∞−∞ segue do estudo de limite de sequencias. Por exemplo, se duas sequencias, zk e wk divergem para +∞, então, a adição dos termos de sequencia, resultara em outra sequencia, tk = zk + wk, que também diverge para +∞. Porem, se subtrairmos os termos das sequencias, tk = zk − wk, nada poderemos afirmar sobre a sequencia resultante, pois o seu limite dependera da rapidez de convergência de cada sequencia envolvida.

Em alguns casos, pode ser necessário trabalhar com precisões maiores, ou ainda, pode ser necessário trabalhar com números bastante grandes ou muito pequenos. Para estes casos, e conveniente trabalhar com o sistema de precisão dupla, que permite uma precisão maior para a mantissa e também intervalos maiores para o expoente problema.

No sistema de precisão dupla, são reservados 64 bits (8 bytes) para armazenar um numero real, sendo que:

1 bit e reservado para o sinal do numero (positivo ou negativo); 1 bits são reservados para o expoente da base, que e um numero inteiro; 52 bits são reservados para a mantissa:

± e1e2 e11 d1d2 . . . d52

Analisando os bits reservados para o expoente, e seguindo a convenção descrita anteriormente para a representação

...

Baixar como (para membros premium)  txt (10 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com