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.
(b) 0,0001234
(b) 0,0001234
Passo 1
Vou listar claramente o que o enunciado nos dá e o que é pedido, sem resolver ainda.
- Sistema de ponto flutuante:
.\n - base
\n - mantissa com
dígitos significativos\n - expoente inteiro
variando de a (ou seja, )
- base
- Número a representar:
. - O que pedem:
- Escrever a representação no sistema usando arredondamento.
- Escrever a representação no sistema usando truncamento (chop).
- Se não for possível representar, indicar se ocorre underflow ou overflow.
Passo 2
Relembrando como são os números neste tipo de sistema (explicação didática e indispensável).
- Forma normalizada que vamos usar: em base
um número positivo normalizado é escrito como
onde
é um dígito não nulo (
) e
são os dígitos seguintes da mantissa. Aqui a mantissa tem exatamente
dígitos significativos:
.
- O expoente
deve satisfazer . Se para representar o número normalizado o expoente necessário ficar fora desse intervalo, não podemos representá‑lo como número normalizado no sistema dado. - Arredondamento: ao ter mais dígitos do que os permitidos na mantissa, escolhe‑se a mantissa com
dígitos que mais aproxima o valor verdadeiro (arredondamento para o mais próximo, geralmente com regra do 5 para cima). - Truncamento (chop): simplesmente corta os dígitos extra após os
dígitos significativos, sem ajustar (sempre aproxima para zero). - Importante: este enunciado não menciona números subnormais. Portanto assumimos que o conjunto de números representáveis consiste somente dos números normalizados com
(mais o zero). Se o número for menor que o menor normalizado positivo, ocorre underflow (não há representação diferente de zero).
Passo 3
Escrever o número em notação científica normalizada (antes de limitar mantissa/expoente).
- Começo convertendo
para notação científica:
Aqui mostrei a mudança de casas decimais: deslocei a vírgula 4 posições para a direita, logo o expoente é
.
Passo 4
Verificar se o expoente cabe no intervalo permitido e comparar com o menor número normalizado representável.
- No passo anterior obtivemos o expoente necessário
. - O intervalo permitido de expoentes é
. Como , o expoente necessário está fora do intervalo. - Calcular explicitamente o menor número normalizado positivo representável neste sistema (para ver a escala):
- Comparação numérica:
Claramente
. Portanto o número é muito menor que qualquer número normalizado representável no sistema
.
Passo 5
Conclusão sobre representação com arredondamento e truncamento.
- Como o expoente necessário (
) está fora do intervalo permitido e não estamos considerando números subnormais, não existe representacão normalizada no sistema para . - Logo acontece underflow: o número não pode ser representado e é mapeado para zero no sistema (tanto sob arredondamento quanto sob truncamento), ou simplesmente diz‑se que ocorreu underflow.
- Observação didática: se o sistema aceitasse subnormais (não é o caso aqui), talvez fosse possível representar um pequeno número não nulo usando expoente mínimo e mantissa não normalizada; mas o enunciado não menciona isso, então a resposta correta é indicar underflow.
Resposta
Arredondamento: underflow
Truncamento: underflow
Truncamento: underflow