Considere o sistema de ponto flutuante
.
a) Qual é o menor número positivo e o maior número positivo de
?
b) Qual o menor número positivo
, tal que
?
c) Qual o maior número de
menor que 4,25 ?
d) Qual o maior número de
menor que 80 ?
a) Qual é o menor número positivo e o maior número positivo de
b) Qual o menor número positivo
c) Qual o maior número de
d) Qual o maior número de
Passo 1
Então, o enunciado tá falando de um sistema de ponto flutuante
, ou seja:
- base
- precisão
dígitos binários (1 bit implícito + 5 de fração) - menor expoente
- maior expoente
O que pedem:
a) o menor e o maior número positivo em .
b) o menor em
tal que
.
c) o maior número de que seja menor que 4,25.
d) o maior número de que seja menor que 80.
a) o menor e o maior número positivo em
b) o menor
c) o maior número de
d) o maior número de
Para resolver isso, vamos precisar saber como se forma um float normalizado:
– Representação:
– Representação:
– O menor positivo normalizado é
.
– O maior é .
– O espaçamento entre dois floats adjacentes no mesmo binário de ordem é
– O maior é
– O espaçamento entre dois floats adjacentes no mesmo binário de ordem
A partir do próximo passo, vamos aplicar essas ideias direto nos itens.
Passo 2
Item (a):
- Menor número positivo normalizado:
- Maior número positivo:
A mantissa
Então
Passo 3
Item (b): precisamos achar o menor
tal que
seja um número válido em
.
- Primeiro normalizamos 4,25 em binário:
Aqui o expoente é . - O espaçamento entre dois floats nessa faixa é
Logo o menorque faz diferente de 4,25 é
Passo 4
Item ©: o maior número de
menor que 4,25 é simplesmente
Passo 5
Item (d): achar o maior float em
menor que 80.
- Normalizamos 80:
Isso é mantissa e . - O espaçamento é
- Logo o anterior a 80 é
Resposta
a) Menor positivo:
.
Maior positivo: .
b) .
c) .
d) .
Maior positivo:
b)
c)
d)