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.
(d) 78,456
(d) 78,456
Passo 1
O que o enunciado pede e o que ele dá:
- Sistema de ponto flutuante:
. Ou seja: - base
, - mantissa com
dígitos significativos, - expoente
permitido em .
- base
- Número a representar:
. - Pedidos:
- escrever a representação usando truncamento (chopping);
- escrever a representação usando arredondamento (rounding);
- indicar se ocorre underflow ou overflow, quando aplicável.
Passo 2
Entendendo o formato e as regras que vou usar (explicação didática):
- Forma normalizada: qualquer número não nulo deve ser escrito como
onde é um dígito não nulo ( a ) e há exatamente dígitos significativos . Assim a mantissa tem 3 dígitos no total. - Limites do expoente: só posso usar
. Se o expoente necessário ficar fora desse intervalo, teremos overflow (expoente maior que ) ou underflow (expoente menor que ). - Truncamento (chopping): descartar todos os dígitos além dos
primeiros, sem ajustar o último dígito retido. - Arredondamento para o mais próximo (round to nearest): olhar o primeiro dígito descartado; se for
aumenta-se o último dígito retido em 1 (com tratamento de “carrego” se necessário), se for mantém-se o último dígito retido.
Passo 3
Colocar o número na forma normalizada (científica) antes de aplicar truncamento ou arredondamento:
- O número é
. Em notação científica base 10: Aqui a mantissa tem o primeiro dígito não nulo , e o expoente é . Note que está dentro do intervalo permitido , então, em princípio, representação é possível.
Passo 4
Aplicar truncamento (chopping) com
dígitos significativos:
- Da mantissa
eu mantenho os três primeiros dígitos significativos: . Isso dá a mantissa truncada . - Portanto, a representação por truncamento é
- Convertendo para forma decimal habitual, isso representa o número
.
Passo 5
Aplicar arredondamento (round to nearest) com
dígitos significativos:
- Mantissa original:
. Os três primeiros dígitos são . O primeiro dígito descartado é ; há dígitos seguintes (o ), então o padrão de arredondamento manda arredondar para cima. - Ao arredondar, o último dígito retido
aumenta para , ficando a mantissa . - Portanto, a representação por arredondamento é
- Em forma decimal, isso representa
.
Passo 6
Verificação de underflow/overflow e observações finais:
- O expoente resultante em ambos os casos é
, que está dentro do intervalo permitido . Logo não há underflow nem overflow. - Observação útil para a prova: se o arredondamento tivesse transformado a mantissa em algo como
que ao aumentar provocasse , então haveria necessidade de re-normalizar (ficaria ) e isso poderia levar a overflow se excedesse o limite. Aqui isso não ocorre.
Resposta
Arredondamento:
(representa
).
Truncamento: (representa
).
Truncamento: