Ponto flutuante
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.
Exemplo3 :
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