Sejam os seguintes números: x=0.5289, y=0.8012 e z=0.6024, e considere um sistema de ponto flutuante com mantissa de 4 dígitos e base decimal. Mostre que:
(a) x(y+z) neq x times y+x times z
(b) (x+y)+z neq x+(y+z)
neste sistema.

Passo 1

O enunciado dá os números
x = 0.5289, y = 0.8012, z = 0.6024
e pede para mostrar que, num sistema de ponto flutuante decimal normalizado com mantissa de 4 dígitos e arredondamento para o mais próximo, ocorrem as quebras de distributividade e de associatividade:
(a) x(y+z)neq x,y + x,z
(b) (x+y)+zneq x+(y+z).

Passo 2

Vamos primeiro fazer as somas e produtos parciais com arredondamento a dígitos:
. Calcular :
Normalizado com dígitos: (arredondando o dígito `` '' para cima).
. Calcular :
( dígitos, o `` '' seguinte arredonda para cima).
. Calcular :

Passo 3

Agora comparamos:
(a)
enquanto
Portanto

Passo 4

(b) Para a soma associativa:
. :
. :
. já vimos que é .
. :
Logo

Resposta

(a) x(y+z)=0.7426neq0.7424 = x,y + x,z
(b) (x+y)+z=1.932neq1.933 = x+(y+z)

Exercícios relacionados