([MACHADO et al, 2017], Problema 5 adaptado - Cap. 1) Considere um sistema de aritmética de ponto flutuante de 4 dígitos e base decimal. Dados os números \mathrm{x}= 0,8123 \cdot 10^{4} e y=0,3154 \cdot 10^{2}, efetue as operações: x+y, x-y, e x / y, e obtenha o erro relativo nos resultados, supondo que x e y estão exatamente representados.

Passo 1

O enunciado dá um sistema de ponto flutuante com 4 dígitos na mantissa e base decimal. Os números fornecidos são
x = 0,8123\cdot 10^{4}
e
y = 0,3154\cdot 10^{2}.
As tarefas pedidas são:
  1. calcular x+y no sistema de ponto flutuante (supondo que x e y estão exatamente representados na máquina);
  2. calcular x-y no mesmo sistema;
  3. calcular x/y no mesmo sistema;
  4. para cada operação, obter o erro relativo do resultado (erro relativo = \dfrac{|\text{resultado\_aproximado} - \text{valor\_exato}|}{|\text{valor\_exato}|}).
Informações relevantes extraídas do enunciado (lista para eu e você não nos perdermos):
x = 0,8123\cdot 10^{4} = 8123
y = 0,3154\cdot 10^{2} = 31,54
mantissa com 4 dígitos significativos (ou seja, podemos usar apenas 4 algarismos não nulos no mantissa quando armazenamos o resultado), e vamos assumir o arredondamento para o vizinho mais próximo (arredondamento para o par mais próximo não foi especificado; adotamos o arredondamento para o mais próximo — regra usual).

Passo 2

Conceitos necessários (explicadinho passo a passo, bem mastigado):
  • Um número em ponto flutuante normalizado na forma usada no enunciado tem representação \pm m \cdot 10^{e} com 0,1 \le m < 1 (aqui o enunciado usa mantissa começando por um algarismo não nulo à direita da vírgula: por exemplo 0,8123\cdot10^4). A “mantissa com 4 dígitos” significa que podemos guardar apenas 4 algarismos significativos de m.
  • Quando somamos/subtraímos, primeiro alinhamos os expoentes (trazendo a mantissa do número de menor expoente para o expoente do maior), somamos/subtraímos as mantissas exatas, e depois arredondamos o resultado final para 4 dígitos na mantissa.
  • Ao dividir, podemos separar a operação como divisão das mantissas e subtração dos expoentes: \dfrac{m_1\cdot10^{e_1}}{m_2\cdot10^{e_2}} = \left(\dfrac{m_1}{m_2}\right)\cdot10^{e_1-e_2}. Depois normalizamos o resultado para ter mantissa na faixa desejada e arredondamos a mantissa a 4 dígitos.
  • Erro absoluto: |\text{aprox} - \text{exato}|. Erro relativo: \dfrac{|\text{aprox} - \text{exato}|}{|\text{exato}|}. Vou calcular ambos quando necessário e expressar o erro relativo em notação científica com vírgula decimal (ex.: 5,64\cdot10^{-5}).

Passo 3

Primeiro escrevo x e y com o mesmo expoente para somar as mantissas:
x = 0,8123\cdot10^{4}.
Converter y para expoente 10^{4}: como y=0,3154\cdot10^{2}, movemos a vírgula da mantissa duas casas para a esquerda:
y = 0,003154\cdot10^{4}.
Agora somamos as mantissas exatas:
0,8123 + 0,003154 = 0,815454.
Essa é a soma exata das mantissas com expoente 10^{4}, ou seja, o valor exato da soma é
x+y = 0,815454\cdot10^{4} = 8154,54.

Passo 4

Temos mantissa exata 0,815454. Devemos arredondar para 4 dígitos significativos. Os quatro primeiros dígitos significativos são 8, 1, 5, 4 (ou seja, 0,8154), e o quinto dígito é 5. Pelo arredondamento para o mais próximo, o quinto dígito igual a 5 pede arredondar o quarto dígito para cima (convencionalmente), então:
\text{mantissa arredondada} = 0,8155.
Logo o resultado armazenado pela máquina é
\widehat{x+y} = 0,8155\cdot10^{4} = 8155.
Agora erro absoluto e relativo:
erro absoluto = |\widehat{x+y} - (x+y)_{\text{exato}}| = |8155 - 8154,54| = 0,46.
erro relativo
\varepsilon_{x+y} = \frac{0,46}{8154,54}\approx 5,64\cdot10^{-5}.
(Arredondei o número final do erro relativo a três algarismos significativos; se precisar de mais precisão eu mostro a divisão detalhada.)

Passo 5

Novamente alinhamos expoentes em 10^{4}:
x = 0,8123\cdot10^{4},\qquad y = 0,003154\cdot10^{4}.
Subtração das mantissas exatas:
0,8123 - 0,003154 = 0,809146.
Portanto o valor exato da diferença é
x-y = 0,809146\cdot10^{4} = 8091,46.

Passo 6

Mantissa exata 0,809146. Os quatro primeiros dígitos são 8, 0, 9, 1 (ou seja 0,8091), e o quinto dígito é 4<5, então arredondamos para baixo (mantemos 0,8091). Assim o resultado armazenado é
\widehat{x-y} = 0,8091\cdot10^{4} = 8091.
Erro absoluto = |8091 - 8091,46| = 0,46.
Erro relativo
\varepsilon_{x-y} = \frac{0,46}{8091,46}\approx 5,68\cdot10^{-5}.

Passo 7

Para dividir em ponto flutuante, escrevo:
\frac{x}{y} = \frac{0,8123\cdot10^{4}}{0,3154\cdot10^{2}} = \left(\frac{0,8123}{0,3154}\right)\cdot10^{4-2} = \left(\frac{0,8123}{0,3154}\right)\cdot10^{2}.
Faço a divisão das mantissas (mostro o resultado com algumas casas decimais):
Já que \dfrac{8123}{31,54} = 257,545973\ldots (pode-se obter por divisão longa; aqui usei a equivalência para facilitar), então
\frac{x}{y} = 257,545973\ldots
Em notação normalizada com mantissa em 0,1\le m<1, isso é
\frac{x}{y} = 0,257545973\ldots \cdot 10^{3}.

Passo 8

Mantissa exata 0,257545973\ldots. Os quatro primeiros dígitos significativos são 2, 5, 7, 5 (ou seja 0,2575); o quinto dígito é 4<5, então não arredondamos para cima. Mantissa arredondada = 0,2575. Assim o resultado armazenado é
\widehat{\dfrac{x}{y}} = 0,2575\cdot10^{3} = 257,5.
Erro absoluto = |257,5 - 257,545973\ldots| \approx 0,045973\ldots
Erro relativo
\varepsilon_{x/y} = \frac{0,045973\ldots}{257,545973\ldots}\approx 1,78\cdot10^{-4}.

Passo 9

  • Tanto na soma quanto na subtração obtivemos erro absoluto igual a 0,46 (isso acontece porque o ajuste do expoente para alinhar y introduziu muitos zeros à esquerda da mantissa de y, de modo que a soma/subtração envolveu um arredondamento pequeno comparado ao valor grande de x). Os erros relativos para soma e subtração são da ordem de 5,6\cdot10^{-5}.
  • Na divisão o erro relativo ficou um pouco maior ( \sim1,78\cdot10^{-4}), pois a divisão produziu um número cuja mantissa tinha dígitos que causaram arredondamento relativamente maior em relação ao valor resultante.
  • Observação qualitativa: quando a operação leva à perda de dígitos significativos (por exemplo, ao alinhar expoentes muito diferentes), a precisão relativa pode ficar pior; aqui a subtração não apresentou perda catastrófica porque x e y não eram de mesma magnitude de forma a cancelar muitos dígitos, mas a diferença de expoentes (2 ordens) já reduz a contribuição de y nas últimas casas.

Resposta

\widehat{x+y}=0,8155\cdot10^{4}=8155,\quad\varepsilon_{x+y}\approx 5,64\cdot10^{-5}
\widehat{x-y}=0,8091\cdot10^{4}=8091,\quad\varepsilon_{x-y}\approx 5,68\cdot10^{-5}
\widehat{\dfrac{x}{y}}=0,2575\cdot10^{3}=257,5,\quad\varepsilon_{x/y}\approx 1,78\cdot10^{-4}

Exercícios relacionados