Considere x=0,5289, y=0,8012 e z=0,6024 e operações em ponto flutuante numa mantissa com 4 dígitos (os números são sempre arredondados e normalizados após cada operação). Mostre que:
a) x times(y+z) neq x times y+x times z

Passo 1

Beleza, vamos resolver esse exercício de ponto flutuante! A questão nos dá três números decimais: , e . O objetivo aqui é mostrar que, quando fazemos operações com ponto flutuante usando uma mantissa de 4 dígitos, a propriedade distributiva não se mantém. Para resolver isso, vamos precisar entender como funciona a aritmética de ponto flutuante, especialmente o arredondamento e a normalização após cada operação.

Passo 2

Primeiro, vamos calcular y + z = 0,8012 + 0,6024 = 1,4036 . Temos:
1,4036 1,404 times 10^0
Como estamos trabalhando com uma mantissa de 4 dígitos, precisamos normalizar esse número. A normalização ajusta o número para que tenha apenas um dígito antes da vírgula. Nesse caso:
Arredondamos o último dígito (6) para cima, já que o próximo número seria 7. Então, .

Passo 3

Agora, vamos calcular x times (y + z) = 0,5289 times 1,404 :
0,5289 times 1,404 = 0,7434576
Primeiro, fazemos a multiplicação:
0,7434576 0,7435
Precisamos arredondar para 4 dígitos na mantissa:
Então, .

Passo 4

Agora, vamos calcular 0,5289 times 0,8012 = 0,4233 (calculado: 0,5289 times 0,8012 = 0,42324268) e 0,42324268 0,4232 separadamente.
Primeiro, 0,5289 times 0,6024 = 0,3187 (calculado: 0,5289 times 0,6024 = 0,31867936) :
0,31867936 0,3187
Arredondando para 4 dígitos:
Então, .
Segundo, :
Arredondando para 4 dígitos:
Então, .

Passo 5

Agora, somamos x times y + x times z = 0,4232 + 0,3187 = 0,7419 e 0,7419 :
Como estamos usando mantissa de 4 dígitos, já está adequado:

Resposta

Concluímos que:
x times (y + z) = 0,7435 neq 0,7419 = x times y + x times z
Portanto, não é igual a quando operamos com ponto flutuante usando uma mantissa de 4 dígitos.

Exercícios relacionados