[04] Considere o sistema de ponto flutuante normalizado
de base 2,4 dígitos na mantissa, menor expoente -1 e maior expoente 2. Para este sistema:
a) Qual é o menor positivo exatamente representável?
b) Qual é o maior positivo exatamente representável?
c) Quantos são os exatamente representáveis positivos?
d) Qual é o número total de reais exatamente representáveis?
e) Represente na reta todos os positivos exatamente representáveis.
f) Defina as regiões de Overflow e de Underflow.
a) Qual é o menor positivo exatamente representável?
b) Qual é o maior positivo exatamente representável?
c) Quantos são os exatamente representáveis positivos?
d) Qual é o número total de reais exatamente representáveis?
e) Represente na reta todos os positivos exatamente representáveis.
f) Defina as regiões de Overflow e de Underflow.
Passo 1
O enunciado dá o sistema de ponto flutuante normalizado
. Listei abaixo, com calma, o que isso significa e o que é pedido:
-
Dados do sistema:
- base
. - número de dígitos na mantissa
. - menor expoente
. - maior expoente
. - “Normalizado” significa que o primeiro dígito da mantissa (mais significativo) é não nulo; em base
isso implica que esse dígito é .
- base
-
Perguntas pedidas:
(a) Qual é o menor positivo exatamente representável?
(b) Qual é o maior positivo exatamente representável?
(c) Quantos são os exatamente representáveis positivos?
(d) Qual é o número total de reais exatamente representáveis?
(e) Represente na reta todos os positivos exatamente representáveis.
(f) Defina as regiões de Overflow e de Underflow.
Passo 2
Entendendo a forma geral dos números representáveis (aula rápida, sem medo).
- Num sistema
normalizado, cada número (não nulo) tem a forma
onde:
-
é o primeiro dígito da mantissa e, por normalização, . -
os dígitos
valem . -
o expoente
varia entre e , inclusive. -
No nosso caso particular (
, ): - o formato é
. - por normalização em base
, temos . Logo as mantissas possíveis são as oito combinações
. - os expoentes possíveis são
(porque vai de até ).
- o formato é
Passo 3
(a) Encontrar o menor positivo exatamente representável.
-
O menor positivo normalizado ocorre com:
- mantissa mínima normalizada:
(que em decimal vale exatamente ), - expoente mínimo:
.
- mantissa mínima normalizada:
-
Então o menor positivo é
- Em decimal isso é
.
Logo o menor positivo exatamente representável é
.
Passo 4
(b) Encontrar o maior positivo exatamente representável.
- A mantissa máxima é
. Vamos converter: - O maior expoente é
. Portanto o maior positivo é
Logo o maior positivo exatamente representável é
.
Passo 5
(c) Quantos positivos exatamente representáveis existem?
-
Para cada expoente
(há expoentes) existem tantas mantissas quanto combinações dos dígitos livres (os ). Em base cada dígito tem 2 valores, então há mantissas possíveis. -
Fórmula: número de positivos normalizados =
. -
Substituindo
, , temos
Portanto existem
números exatamente representáveis e positivos.
Passo 6
(d) Número total de reais exatamente representáveis (incluindo negativos e zero).
- O sistema é simétrico quanto ao sinal: para cada positivo há o correspondente negativo, e além disso o zero é normalmente representável (representado por todos os dígitos zero na mantissa/um caso especial).
- Então total =
positivos negativos zero
Logo o número total de reais exatamente representáveis é
.
Passo 7
(e) Representar na reta todos os positivos exatamente representáveis.
Vou listar, agrupando por expoente
. Para cada expoente as mantissas são as oito formas
com
. Eu dou o valor decimal com vírgula (formato pedido).
Expoente
(multiplica por
):
Expoente
(multiplica por
):
Expoente
(multiplica por
):
Expoente
(multiplica por
):
Observação amiga: assim, na reta os positivos exatamente representáveis são exatamente os
números listados acima, ordenados de
até
. Lembra que o zero também é representável (entre os negativos e positivos).
Passo 8
(f) Definir regiões de Overflow e de Underflow (explicação e definição precisa).
-
Underflow (no sentido de valores menores que o mínimo representável em magnitude, assumindo que não há números subnormal/denormalizados):
- o menor positivo representável é
. - então qualquer número real com
tem magnitude menor que o menor normalizado e, portanto, causa underflow (não é representável como número normalizado). O zero é representável, então ele não é “underflow” no sentido de ser perdido — é representado exatamente. - definição em conjunto:
- o menor positivo representável é
-
Overflow:
- o maior valor representável em módulo é
. - qualquer
com ultrapassa a capacidade do formato e causa overflow. - definição em conjunto:
- o maior valor representável em módulo é
-
Comentário prático: em muitas arquiteturas, underflow pode também ser tratado com números subnormais; aqui o enunciado foi explícito em “normalizado”, então não consideramos subnormais — por isso qualquer valor com
não é representável (além de ) e é underflow.
Resposta
(a)
(b)
(c)
(d)
(e) Os positivos representáveis (ordenados por expoente) são:
(b)
(c)
(d)
(e) Os
(f) Underflow:
.
Overflow: .
Overflow: