a) Explique como números são representados em ponto flutuante na base 10 e na base 2 . Use exemplos númericos para ilustrar sua explicação.
b) Discuta os efeitos do arredondamento na precisão dos cálculos numéricos e como esses efeitos podem ser minimizados.
Passo 1
O enunciado pede duas coisas:
a) explicar como funciona a representação de números em ponto flutuante nas bases 10 e 2, com exemplos;
b) discutir os efeitos do arredondamento na precisão dos cálculos e como reduzi-los.
O conteúdo envolve a normalização em forma científica, componentes de sinal, mantissa e expoente, além de erros de arredondamento.
Passo 2
Uma representação genérica de ponto flutuante usa três campos: sinal (), mantissa () e expoente (). O valor é
onde é a base (10 ou 2) e a mantissa normalizada satisfaz
Passo 3
Em base 10 a normalização é como na notação científica escolar. Por exemplo, vira
Aqui , , e . Em implementações comuns em ponto flutuante decimal (como decimal64) há bits fixos para a mantissa e um campo para o expoente com bias.
Passo 4
Em base 2 representamos valores em binário e normalizamos para
Por exemplo, 5,7510 = 101112 = 10112times 2^2.
No padrão IEEE 754 double precision há 1 bit para s, 11 bits para e com bias 1023, e 52 bits para a mantissa fracionária.
Passo 5
Como mantissa e expoente têm tamanho finito, muitos números reais não cabem exatos, e ocorre arredondamento. O erro máximo relativo por operação é da ordem de
varepsilonmáquina = b^1-p, á
onde p é o número de dígitos da mantissa. Esse erro se propaga e pode crescer em operações sucessivas.
Passo 6
Para minimizar erros de arredondamento podemos:
– usar maior precisão (double em vez de single);
– escolher a ordem das somas para acumular primeiro valores menores (ex.: algoritmo de Kahan);
– evitar subtrações entre números muito próximos (cancelamento catastrófico);
– aplicar técnicas de refinamento iterativo para reduzir o viés de arredondamento.
Resposta
a) Em ponto flutuante um número é armazenado como
(-1)^stimes m times b^e,
com s (sinal), m (mantissa normalizada) e e (expoente). Em base 10 exemplificamos 123,45 = 1,2345times10^2; em base 2, 5,75=10112times2^2, e padrões como IEEE 754 definem campos fixos para esses valores.
b) O arredondamento ocorre porque mantissa e expoente são finitos, gerando erro relativo de até varepsilonmáquinaá. Esses erros se acumulam e podem causar instabilidade (como cancelamento). Para minimizá-los usa-se maior precisão, algoritmos compensados (Kahan), reformulação de expressões e refinamento iterativo.