Dê um exemplo que demonstra que a adição nem sempre é associativa em aritmética de ponto flutuante.

Passo 1

O enunciado pede um exemplo que demonstre que a adição não é associativa na aritmética de ponto flutuante. Esse conceito está ligado à característica de arredondamento e precisão finita dos números representados em ponto flutuante.

Passo 2

Para ilustrar, escolhemos três valores em ponto flutuante típicos de IEEE 754 double: a = 10^30, b = -10^30 e c = 1. Devido à limitação da mantissa (cerca de 16 dígitos decimais), somas de números com ordens de grandeza muito diferentes podem perder precisão.

Passo 3

Primeiro calculamos (a + b) + c. Como a + b soma dois números iguais e opostos, o resultado exato é zero, e o arredondamento no computador também é zero. Então:
(a + b) + c = (10^30 + (-10^30)) + 1 = 0 + 1 = 1

Passo 4

Agora calculamos a + (b + c). Ao somar b + c, o número c é tão pequeno em comparação com b que é perdido no arredondamento, então b + c é aproximado como b. Logo:
b + c = -10^30 + 1 approx -10^30
E então
a + (b + c) = 10^30 + (-10^30) = 0

Passo 5

Como (a + b) + c = 1 e a + (b + c) = 0, vemos claramente que a adição não é associativa em ponto flutuante.

Resposta

Por exemplo, com a = 10^30, b = -10^30 e c = 1, obtemos resultados distintos: (a + b) + c = 1 e a + (b + c) = 0, evidenciando que a adição não é associativa em ponto flutuante.

Exercícios relacionados