Seja uma máquina que trabalha com representação decimal com 4 dígitos na mantissa, e com erro de truncamento. Considere os seguintes números:
a = 3492
b = 0,7406
\mathrm{c}=0,3245
Verifique que (a+b)+c e a+(b+c) dão valores diferentes. Qual dos resultados dá menor erro?

Passo 1

O enunciado define uma aritmética de ponto flutuante decimal com mantissa normalizada de 4 dígitos e truncamento (chopping). Os números são
a = 3492,\quad b = 0{,}7406,\quad c = 0{,}3245.
Vamos calcular primeiro (a+b)+c e depois a+(b+c) usando as regras de alinhamento de expoentes e truncamento a 4 dígitos na mantissa.

Passo 2

Calcular a+b:
a) Escrevemos
a = 3{,}492\times10^3,\quad b = 7{,}406\times10^{-1}.
b) Para somar, alinhamos b ao expoente 10^3:
b = 7{,}406\times10^{-1} = 0{,}0007406\times10^3.
c) Soma exata antes de truncar:
a+b = 3{,}492\times10^3 + 0{,}0007406\times10^3 = 3{,}4927406\times10^3.
d) Truncando a mantissa a 4 dígitos:
fl(a+b) = 3{,}492\times10^3 = 3492.

Passo 3

Agora somamos fl(a+b) com c:
a) \;fl(a+b)=3{,}492\times10^3 e c=3{,}245\times10^{-1}.
b) Alinhando c ao expoente 10^3:
c = 0{,}0003245\times10^3.
c) Soma exata antes de truncar:
3{,}492\times10^3 + 0{,}0003245\times10^3 = 3{,}4923245\times10^3.
d) Truncando a 4 dígitos:
(a+b)+c \approx fl\bigl(fl(a+b)+c\bigr) = 3{,}492\times10^3 = 3492.

Passo 4

Calcular b+c e depois somar a a:
a) Soma b+c com mesmo expoente 10^{-1}:
b+c = 0{,}7406 + 0{,}3245 = 1{,}0651 = 1{,}0651\times10^0.
b) Truncando a 4 dígitos:
fl(b+c) = 1{,}065\times10^0 = 1{,}065.
c) Somando a a=3{,}492\times10^3, alinhamos fl(b+c) ao expoente 10^3:
fl(b+c) = 0{,}001065\times10^3,
a + fl(b+c) = 3{,}492\times10^3 + 0{,}001065\times10^3 = 3{,}493065\times10^3.
d) Truncando a 4 dígitos:
a+(b+c) \approx fl\bigl(a+fl(b+c)\bigr) = 3{,}493\times10^3 = 3493.

Passo 5

O valor exato de a+b+c é
3492 + 0{,}7406 + 0{,}3245 = 3493{,}0651.
Comparando os erros:
\bigl|(a+b)+c - 3493{,}0651\bigr| = |3492 - 3493{,}0651| = 1{,}0651,
\bigl|a+(b+c) - 3493{,}0651\bigr| = |3493 - 3493{,}0651| = 0{,}0651.
Portanto, a+(b+c) produz um resultado com menor erro de truncamento.

Resposta

O resultado a+(b+c)=3493 apresenta menor erro.

Exercícios relacionados