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

Pontos Fixo E Flutuantes

Artigos Científicos: Pontos Fixo E Flutuantes. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  23/3/2015  •  1.448 Palavras (6 Páginas)  •  623 Visualizações

Página 1 de 6

onto flutuante (do inglês floating point) ou vírgula flutuante[1] é um formato de representação digital de números reais, que é usada nos computadores.

Ao falar em números reais a visualização vinda à cabeça é:

Representação de um número fracionário.

No entanto, essa representação custa caro, em termos de processamento e armazenamento, ao computador havendo a necessidade de utilizar uma outra maneira que favoreça tais tarefas. Para trabalhar com a parte fracionária de forma satisfatória, usa-se a representação por pontos flutuantes.

Essa representação baseia-se no deslocamento da virgula de forma que se obtenha um número menor ou próximo de 1. Esse deslocamento é feito por meio de notação científica. Esclarecendo: o número 25,456 em notação corresponde ao 0,25456 x 102.

O exemplo acima tinha como base a decimal, no entanto o computador trabalha com a base 2 (binários – 0 e 1). Então um número binário 11,011 em notação corresponde ao 0,11011 x 22. Esse processo de transcrever um número em notação científica recebe o nome de normalização, portanto 0,11011 x 22 está normalizado.

De forma geral, representa-se um ponto flutuante da seguinte forma:

+- M X B+-e

Onde:

M é a mantissa (parte fracionária)

B é a base

e é o expoente

Esquematicamente tem-se [2] :

Desta forma é possível cobrir um largo espectro de números, maximizando o número de bits significativos e consequentemente a precisão da aproximação. Esta forma de representação foi criada por Konrad Zuse para os seus computadores Z1 e Z3.

O número de bits alocados para representar a mantissa e o expoente depende da norma utilizada.

Para obter o número em ponto flutuante converte-se o número para a base na qual será armazenado, normaliza-o e por fim separa-se mantissa, expoente e sinais.

Exemplo[3] :

Assumindo:

1 bit para o sinal do número

1 bit para o sinal do expoente

4 bits para o expoente

10 bits para a mantissa

Represente o número 5,7510 em ponto flutuante. O número em questão encontra-se na base 10, portanto é preciso convertê-lo para binário (base 2), base entendida pelo computador. 5,7510 => 101,112

Normalizando tem-se: 0,10111 x 23

Separando sinais, mantissa e expoente tem-se:

Sinal do número: (+) 0

Sinal do expoente: (+) 0

Expoente: 011 (3)

Mantissa: 10111

Portanto tem-se: 00001100000101112

A maioria dos sistemas que operam com ponto flutuante utilizam representações definidas na norma IEEE 754.

O padrão IEEE para aritmética de ponto flutuante (IEEE 754) é o padrão mais amplamente utilizado para o cálculo de ponto flutuante, e é seguido por muitos CPU e melhorias FPU. A norma define formatos para representar números de ponto flutuante (incluindo zero) e os valores não normalizados, bem como os valores especiais infinito e NaN, com um conjunto de operações de ponto flutuante que trabalham com esses valores. Também especifica quatro modos de arredondamento e cinco exceções (inclusive quando essas exceções ocorrem é o que acontece nesses momentos). A Norma IEEE 754-2008 define os formatos adequados para representar números em ponto flutuante de precisão simples (32 bits) e de precisão dupla (64 bits). O título completo da norma é o padrão IEEE para Aritmética Binária de Ponto Flutuante (ANSI / IEEE Std 754-1985), e também é conhecido pelo IEC 60559:1989, Binary floating-point arithmetic for microprocessor systems (originalmente o número de referência era IEC 559:1989).[4] [5]

O formato de ponto flutuante de precisão simples (32 bits) consiste num bit de sinal (s), 8 bits de expoente (e) e uma mantissa de 23 bits (m). O bit de sinal (s) é 0 (zero) para números positivos e 1 para números negativos. O campo de expoente (e) corresponde à soma de 127 com o expoente de base 2 do número representado. O campo de mantissa (m) corresponde à parte fracionária da mantissa do número representado. Considera-se sempre a mantissa normalizada entre 1 e 2. Desta forma a sua parte inteira é sempre apenas um bit igual a 1 (um) que não é necessário representar.

v = S × M × 2E

Onde:

S = 1 − 2 × s

M = 1.m = 1 + m × 2−23

E = e − 127

Índice

1 Problemas com o uso de ponto flutuante

2 Propriedades de aritmética de ponto flutuante

3 Exemplos

3.1 Valores Especiais

4 Implementação em Linguagens de Programação

5 Referências

Problemas com o uso de ponto flutuante

Em geral, este tipo de números se comporta muito semelhante aos números reais. No entanto, isso muitas vezes leva os programadores a desconsiderar a importância da análise numérica adequada sobre os resultados obtidos. Há muitas inconsistências entre o comportamento dos números de ponto flutuante em base 2(binário) e que os números reais, mesmo em casos muito simples (como a fração que 0,1 não pode ser representado de maneira exata por qualquer binária de ponto flutuante). As principais causas de erro no cálculo de ponto flutuante são:

arredondamento(por exemplo, 0,1);

arredondamento das operações aritméticas(por exemplo,2/3= 0,666667);

absorção(por exemplo, 1 + 1 = 1 x 1015 x 1015);

cancelamento(por exemplo, a subtração de dois números

...

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