Considere o sistema de ponto flutuante F=F(2,6,-14,15).
a) Qual é o menor número positivo e o maior número positivo de F ?
b) Qual o menor número positivo epsilon in F, tal que 4,25<4,25+epsilon ?
c) Qual o maior número de F menor que 4,25 ?
d) Qual o maior número de F menor que 80 ?

Passo 1

Então, o enunciado tá falando de um sistema de ponto flutuante
x = pm(1b1b2ldots b5)2 times 2^e, ein[-14,15], 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.
Para resolver isso, vamos precisar saber como se forma um float normalizado:
– Representação:
– O menor positivo normalizado é .
– 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):
  1. Menor número positivo normalizado: xmin = 1.000002times2^-14 = 2^-14
  2. Maior número positivo: xmax = (1.111112)times2^15A mantissa xmax = 6332times 2^15 = 6332times 32768 = 64512
    Então

Passo 3

Item (b): precisamos achar o menor 4,2510 = 100.012 = 1.000102 times 2^2 tal que epsilon = 0,125 = 18 seja um número válido em .
  1. Primeiro normalizamos 4,25 em binário: Aqui o expoente é .
  2. O espaçamento entre dois floats nessa faixa é

    Logo o menor que faz diferente de 4,25 é

Passo 4

Item ©: o maior número de 4,25 - epsilon = 4,25 - 0,125 = 4,125 menor que 4,25 é simplesmente

Passo 5

Item (d): achar o maior float em 8010 = 10100002 = 1.012 times 2^6 menor que 80.
  1. Normalizamos 80: 80 - 2 = 78Isso é mantissa e .
  2. O espaçamento é
  3. Logo o anterior a 80 é

Resposta

a) Menor positivo: .
Maior positivo: .
b) .
c) .
d) .

Exercícios relacionados