Considere o sistema de aritmética de ponto flutuante
normalizado:
Os seguintes números na base 10 podem ser representados em F por truncamento (pertencem a F ou ocorre underflow ou overflow)? Represente-os nesse sistema e indique underflow ou overflow se for o caso.
Os seguintes números na base 10 podem ser representados em F por truncamento (pertencem a F ou ocorre underflow ou overflow)? Represente-os nesse sistema e indique underflow ou overflow se for o caso.
Passo 1
O que o problema pede e os dados fornecidos:
- Pedido: verificar se o número
pode ser representado em por truncamento; representar o número nesse sistema e indicar underflow ou overflow se ocorrer. - Dados do sistema de ponto flutuante
(normalizado): - base
, - precisão
dígitos na mantissa (ou seja, quatro dígitos binários após o ponto na mantissa normalizada), - expoente mínimo
, - expoente máximo
.
- base
- Observação importante (extraída do enunciado): o sistema é normalizado (isto significa que o primeiro dígito da mantissa deve ser diferente de zero).
Passo 2
Entendendo o formato normalizado e os limites de underflow/overflow:
- Em
normalizado, um número positivo representável tem forma
com
e
.
- O menor número positivo normalizado representável vale
- O maior número representável (absoluto) vale
- Para o nosso caso, com
, , , : - menor positivo normalizado:
- maior representável:
- menor positivo normalizado:
- Conclusão: valores menores que
causariam underflow; valores maiores que causariam overflow. O número dado está entre esses extremos, então não haverá underflow nem overflow — ainda falta verificar a representação com truncamento da mantissa.
Passo 3
Converter
para binário (explicando passo a passo):
- Parte inteira:
. - Parte fracionária:
. Para converter frações multiplicar por repetidamente: -
dígito binário , resto . -
dígito binário , resto . -
dígito binário , resto (termina).
-
- Assim a parte fracionária é
. - Combinando:
.
Passo 4
Colocar em forma normalizada adequada ao sistema (mantissa
e expoente
):
- Escrevendo
como mantissa normalizada do tipo :
pois deslocar o ponto duas posições para a esquerda produz
e multiplicar por
recupera
.
- Aqui o expoente é
, que está dentro do intervalo permitido . A mantissa tem, em precisão infinita, os bits .
Passo 5
Aplicar truncamento à mantissa com
dígitos (explicar o que é truncamento):
- Truncamento significa simplesmente cortar os bits da mantissa após o
-ésimo dígito, sem arredondar. - A mantissa infinita (ou exata) é
. Mantendo apenas os primeiros dígitos obtemos
- Logo a representação por truncamento é
Passo 6
Calcular o valor decimal da representação truncada e comparar com o original:
- Calcular
em decimal:
- Multiplicando por
:
- Portanto, por truncamento obtemos
em decimal — o valor exato não é representável com apenas bits na mantissa; o truncamento aproxima por defeito para . - Confirmamos também que não ocorreu underflow nem overflow, pois
.
Resposta
Não ocorre underflow nem overflow.