Considere um sistema de ponto flutuante
, isto é, base 10 , mantissa com 3 dígitos e expoente variando de -2 a 2 .
Para os números abaixo, escreva sua representação no sistema utilizando arredondamento e truncamento. Caso não seja possível representar, indique se ocorre underflow ou overflow.
(a) 0,034567
(a) 0,034567
Passo 1
O enunciado dá um sistema de ponto flutuante
(base
, mantissa com
dígitos significativos, expoente mínimo
e máximo
) e pede, para o número dado, que se escreva sua representação no sistema:
- usando truncamento;
- usando arredondamento.
Se a representação não couber no intervalo de expoentes, indicar underflow ou overflow.
O número a representar é
.
Passo 2
Entendendo o formato
, de forma bem prática:
- Números normalizados têm a forma
onde
(ou seja, o primeiro dígito da mantissa é não nulo) e há exatamente
dígitos significativos no total (aqui:
).
- O expoente
deve satisfazer . - Truncamento significa cortar os dígitos além dos
significativos sem alterar o último dígito guardado. - Arredondamento (aqui usaremos o critério usual “arredonda para o mais próximo; se o dígito seguinte
incrementa”) significa analisar o primeiro dígito descartado e, se for , aumentar a última casa conservada em (com propagação de carry se necessário).
Passo 3
Colocar
em notação normalizada (científica) em base
. Movendo a vírgula para ter um único dígito não nulo antes do ponto:
Aqui o primeiro dígito é
, seguido de
,
, e os dígitos seguintes são
. O expoente necessário é
, que está dentro do intervalo permitido
. Portanto não há overflow/underflow por agora — o número pode ser aproximado.
Passo 4
Mantendo apenas os
dígitos significativos
e cortando o resto:
- Da mantissa
com dígitos, o truncamento produz .
Logo a representação por truncamento é
Convertendo para decimal:
Passo 5
Para arredondar com
dígitos, olhamos o quarto dígito da mantissa (o primeiro descartado). A mantissa original é
; o quarto dígito é
(maior ou igual a
), então incrementamos o último dígito guardado:
- Mantissa truncada antes do ajuste:
. - Como o dígito seguinte é
, fazemos .
Portanto a representação por arredondamento é
Convertendo para decimal:
Passo 6
O expoente usado em ambas as aproximações é
, que satisfaz
. Logo não ocorre underflow nem overflow. As duas aproximações são válidas em
.
Resposta
Truncamento:
Arredondamento:
Arredondamento: