1. Use o formato real longo de 64 bits para determinar o equivalente decimal dos seguintes números de máquina em ponto flutuante.
    a. 0 10000001010
    1001001100000000000000000
    000000000000000000000000000
    llll b 1 & 10000001010 & 1001001100000000000000000 & 000000000000000000000000000
    c. 0 01111111111 0101001100000000000000000
    000000000000000000000000000
    d. 0 011111111110101001100000000000000000
    000000000000000000000000001

Passo 1

Beleza, o que a questão pede é: a gente tem quatro números em ponto flutuante no formato “real longo” de 64 bits (IEEE 754) e precisa descobrir quais valores decimais eles representam. O conteúdo aqui é a conversão de ponto flutuante IEEE 754:
  • 1 bit de sinal (0 = positivo, 1 = negativo)
  • 11 bits de expoente (com bias = 1023)
  • 52 bits de mantissa (fração)
O que vamos usar:
  1. Ler o bit de sinal e decidir o fator pm1.
  2. Converter o campo de expoente do binário para decimal, subtrair o bias (1023) para achar E.
  3. Converter a mantissa f (bits depois do ponto) em fração somando potências de 2 negativas, montar 1f.
  4. Calcular o valor como (-1)^sinaltimes(1f)times2^E.

Passo 2

Item (a):
Bits são
  • sinal = 0 → positivo
  • expoente = 10000001010₂ = 1cdot2^10+0+dots+1cdot2^3+1cdot2^1 =1024+8+2=1034
    E =1034-1023=11
  • mantissa = 10010011…0 (só os quatro “1” nas posições 2^-1,2^-4,2^-7,2^-8) f = 2^-1+2^-4+2^-7+2^-8=0,5+0,0625+0,0078125+0,00390625=0,57421875 1f=1,57421875
    Valor final:
    +1,57421875times2^11=1,57421875times2048=3224

Passo 3

Item (b):
Exatamente os mesmos expoente e mantissa de (a), só que sinal = 1 → negativo.
Portanto o valor é
-1,57421875times2^11=-3224

Passo 4

Item ©:
  • sinal = 0 → positivo
  • expoente = 01111111111₂ = 2^10-1=1023 E=1023-1023=0
  • mantissa = 01010011…0 (bits iguais a (a) mas deslocados, só as “1” em 2^-2,2^-4,2^-7,2^-8) f=2^-2+2^-4+2^-7+2^-8=0,25+0,0625+0,0078125+0,00390625=0,32421875 1f=1,32421875
    Valor final:
    +1,32421875times2^0=1,32421875

Passo 5

Item (d):
É o mesmo de © mas tem um último “1” na posição 2^-52 da mantissa. Logo:
  • sinal = 0 → positivo
  • expoente = 01111111111₂ → E=0
  • mantissa original de © mais 2^-52: f=0,32421875 + 2^-52approx0,32421875 + 2,220446049250313times10^-16 1fapprox1,3242187500000002220446
    Valor final:
    +1,3242187500000002(aproximadamente)

Resposta

a) 3224
b) -3224
c) 1,32421875
d) 1,3242187500000002 (aproximadamente)

Exercícios relacionados