Seja uma máquina fictícia que opera em um sistema de ponto flutuante de base binária e que representa os números usando 32 bits. Seja o seguinte número representado nesta máquina:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
30 31
0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 0 1
1 0
Se o primeiro bit indica o sinal do número, o segundo é o sinal do expoente, os próximos seis são o expoente, e os vinte e quatro últimos são a mantissa, responda às seguintes perguntas:
(d) Como ficaria a representação deste número no sistema F(10,6,-10,10) (i.e., base decimal, 6 dígitos na mantissa, e expoente variando de -10, cdots, 10) ?

Passo 1

Beleza, então a gente tem um número numa “máquina” que usa ponto‐flutuante em base 2 com 32 bits assim:
  • bit 0 = sinal do número
  • bit 1 = sinal do expoente
  • bits 2–7 = valor absoluto do expoente em binário
  • bits 8–31 = mantissa fracionária (normalizada, com 1 implícito antes do ponto)
O exercício (parte d) pede para converter essa mesma quantidade real para o sistema decimal
, ou seja:
  • base
  • mantissa com 6 dígitos significativos
  • expoente inteiro variando de a
O que vamos precisar:
  1. Extrair sinal, expoente e mantissa da sequência de bits.
  2. Calcular o valor real em decimal.
  3. Normalizar esse valor no formato .
  4. Arredondar a mantissa para 6 dígitos e checar que .

Passo 2

Vamos ler os bits rapidamente:
  • bit 0 = 0 → número positivo
  • bit 1 = 0 → expoente é positivo
  • bits 2–7 = 000011₂ → f ;=;sumi=1^24bi,2^-i em decimal, logo
  • bits 8–31 são a parte fracionária da mantissa. Chamamos essa fração de

Passo 3

Calculando f approx 0,322127699852, : cada bit x ;=; (+1);times;(1+f);times 2^E ;=;(1 + 0,322127699852)times 2^3 ;=;1,322127699852times8 ;=;10,5770215988ldots vale ou e dá contribuição . Somando todos os bits que valem 1, a gente encontra
Como a mantissa é normalizada, o valor real é

Passo 4

Agora vamos pôr esse 10,5770216ldots = 1,05770216ldots times 10^1 no formato 1,05770(pois o 7º dígito é 2, então não sobe o ú.
  1. Normalização em base 10:
  2. Mantissa com 6 dígitos significativos → .
    Pegamos “1 . 05770216…” e arredondamos para 6 dígitos: ºíéããú
  3. Expoente está dentro de , beleza.

Resposta

+,1,05770 ,times 10^1

Exercícios relacionados