Considere o sistema de ponto flutuante F=F(2,6,-14,15).
Qual o maior número de F menor que 80 ?

Passo 1

Beleza, a questão é sobre representação em ponto flutuante no sistema
.
Isso significa:
  • Base .
  • Precisão de dígitos binários no mantissa (1 antes da vírgula e 5 depois).
  • Expoentes vão de a .
    O que pedem? O maior número de que seja menor que 80.
    Pra resolver vamos precisar:
  1. Colocar 80 na forma normalizada .
  2. Ver se 80 está mesmo em .
  3. Descobrir o “ulp” (o passo) nessa vizinhança de 80.
  4. Subtrair esse passo de 80 para achar o predecessor imediato.

Passo 2

Normalizando 80 em binário:
80 em decimal dividido por 80 = 1,25 times 2^6
80 = 1.010002times2^6
Em binário .
Como precisamos de 6 dígitos na mantissa, completamos com zeros:
Isso é válido: o mantissa tem 1 dígito antes e 5 depois, e está no intervalo . Logo 80 é um número de .

Passo 3

Agora, qual é o “ulp” (unidade no último lugar) nesta potência 2^,e - (t-1) ;=;2^,6 - 5;=;2^1;=;2 ?
Em ponto flutuante normalizado de base e dígitos, o peso do último bit do mantissa é
Ou seja, duas representações consecutivas em torno de 80 diferem de exatamente 2 unidades.

Passo 4

Para achar o maior número menor que 80, basta pegar o predecessor de 80 - 2 = 78 , que é
78 = 1.001112 times 2^6,
Em binário isso corresponde a
onde o mantissa vem de tirar 1 unidade no último bit de .

Resposta

O maior número de menor que 80 é 78.

Exercícios relacionados