(Livro: Ruggiero, 1998 - Capítulo 1 - Questão 3) Seja um sistema de aritmética de ponto flutuante de quatro dígitos, base decimal e com acumulador de precisão dupla. Dado os números:
x=0.7234 * 10^wed>= 4
y=0.2145 * 10^wed>=-3
z=0.2586 * 10^wed>= 1
efetue as seguintes operações e obtenha o erro relativo no resultado, supondo que x, y e z estão exatamente representados
(x^* y) / z

Passo 1

Beleza, a questão pede pra gente calcular
x * yz
numa aritmética de ponto flutuante decimal com mantissa de 4 dígitos, e acumulador de precisão dupla (ou seja, fazemos a operação interna com 8 dígitos antes de arredondar para 4). Depois, comparar o resultado obtido com o valor “exato” pra achar o erro relativo.
Conteúdo: aritmética de ponto flutuante (normalização, arredondamento e erro de arredondamento). Vamos precisar simular passo a passo: multiplicar por , arredondar a 4 dígitos, dividir por , arredondar de novo, e só então comparar com o valor real.

Passo 2

Primeiro, reescrevendo os dados:
x = 0.7234times 10^4, y = 0.2145times 10^-3, z = 0.2586times 10^1
Teoria rápida de ponto flutuante decimal:
  1. A mantissa tem 4 dígitos, sempre entre 0.1000 e 0.9999.
  2. A cada operação (multiplicação ou divisão) usamos internamente 8 dígitos (acumulador dupla precisão) e depois arredondamos o resultado final pra 4 dígitos (arredondamento “half-up”).

Passo 3

Multiplicando 0.7234 times 0.2145 = 0.15516930(8 dígitos) por 0.15516930times 10^1 em dupla precisão:
x*y approx 0.1552times 10^1 í
O expoente fica . Então o produto exato em mantissa dupla é
Agora arredondamos pra 4 dígitos na mantissa: o quinto dígito é 6, então subimos o quarto de 1 para 2, ficando

Passo 4

Agora dividimos esse resultado por 0.15520.2586approx 0.60015480(8 dígitos), . Internamente, em dupla precisão, fazemos
x*yzapprox 0.6002times10^0 = 0.6002 í
e o expoente resulta . Em seguida arredondamos pra 4 dígitos de mantissa: o quinto dígito é 5, então subimos o quarto de 5 para 6, dando

Passo 5

Pra achar o erro relativo, precisamos do valor “exato” de xrm exato=7234, yrm exato=0.0002145, zrm exato=2.586 sem arredondar nada:
7234cdot0.00021452.586 = 1.5516932.586 approx 0.600035995
|0.6002 - 0.600035995| approx 0.000164005
Erro absoluto:
0.0001640050.600035995 approx 2,73times10^-4
Erro relativo:

Resposta

O erro relativo aproximado é
boxed2,73times10^-4

Exercícios relacionados