Sejam os seguintes números:
e
, e considere um sistema de ponto flutuante com mantissa de 4 dígitos e base decimal. Mostre que:
(a)
(a)
Passo 1
Beleza, o enunciado diz que temos
x=0.5289, y=0.8012 e z=0.6024
num sistema de ponto-flutuante decimal com mantissa de 4 dígitos.
A questão é mostrar que, nesse sistema,
x=0.5289, y=0.8012 e z=0.6024
num sistema de ponto-flutuante decimal com mantissa de 4 dígitos.
A questão é mostrar que, nesse sistema,
O tema aqui é aritmética de ponto-flutuante: você precisa saber como normalizar números, quantos dígitos manter na mantissa (aqui, 4) e o critério de arredondamento (“round to nearest”). A partir do próximo passo, a gente faz as contas direitinho, sempre arredondando quando ultrapassar 4 dígitos na mantissa.
Passo 2
Primeiro calcula
em aritmética exata e depois aplica o arredondamento a 4 dígitos:
y+z = 0.8012 + 0.6024 = 1.4036.
Isso tem 5 dígitos significativos (14036), mas só podemos guardar 4. O quinto dígito é 6 (≥5), então a gente “sobe” o quarto dígito:
y+z = 0.8012 + 0.6024 = 1.4036.
Isso tem 5 dígitos significativos (14036), mas só podemos guardar 4. O quinto dígito é 6 (≥5), então a gente “sobe” o quarto dígito:
Passo 3
Agora multiplica x por esse resultado e depois arreda pra 4 dígitos:
Exato:
Exato:
Isso tem 7 casas decimais. Mantendo só 4, olhamos o quinto dígito (7 ≥ 5) e subimos:
Passo 4
Agora faz separadinho:
a)
a)
Arredonda pra 4 dígitos (quinto dígito=5, então sobe):
b)
Arredonda (quinto dígito=0, mantém):
c) Soma os dois resultados já arredondados:
Passo 5
Comparando:
logo são diferentes.
Resposta
Em ponto-flutuante de 4 dígitos decimais não vale a distributiva: