Considere o sistema de ponto flutuante
com arredondamento. Arredonde se for possível neste sistema os seguintes valores:
-
,
-
,
-
,
-
,
-
,
-
,
-
,
- -0.00000000014,
- 0.00000000005341,
- 9999999999,
- -99999999
Passo 1
O enunciado nos dá o sistema de ponto flutuante
com arredondamento para o número normalizado mais próximo, expoentes no intervalo
, 4 dígitos na mantissa e flush‐to‐zero se
, overflow para
(ou saturação no maior normal).
Passo 2
Em
cada número não‐zero é representado como
com
e
. Para arredondar a um número real, normalizamos a mantissa em base 10, mantemos 4 dígitos significativos
e, olhando o quinto dígito, aproximamos ao mais próximo.
Passo 3
Arredondamos os valores iniciais
,
e
:
-
. Normalizado: . Mantendo 4 dígitos: , quinto dígito é ⇒ sobe um no quarto dígito:
-
. Normalizado: . Mantendo 4 dígitos: , quinto dígito é ⇒ não muda:
-
. Normalizado: . Mantendo 4 dígitos: , quinto dígito ⇒ sobe:
Passo 4
Calculamos
em ponto flutuante usando os valores arredondados:
-
, . - Alinhamos expoentes em
: - Soma:
. - Normalizamos e arredondamos a 4 dígitos:
com quinto dígito ⇒ .
Passo 5
Calculamos
em ponto flutuante:
-
- Arredondando a 4 dígitos:
(quinto dígito não altera).
Passo 6
Arredondamos os demais valores um a um:
-
. Expoente ⇒ underflow ⇒ -
. , mantissa já tem 4 dígitos ⇒ -
. ⇒ underflow ⇒ -
. ⇒ underflow ⇒ -
. Expoente ok, mas mantissa 10 dígitos ⇒ 4 dígitos: , quinto dígito ⇒ , expoente ⇒ overflow ⇒ -
. Mantissa 8 dígitos ⇒ 4 dígitos: , quinto dígito ⇒ (expoente permitido):
Resposta
x =
y =
z =
y+z =
y z =
⇒
⇒
⇒
⇒
⇒ overflow (
, ou satura em
)
⇒
y =
z =
y+z =
y