Use o formato real longo de 64 bits para determinar o equivalente decimal dos seguintes números de máquina em ponto flutuante.
1011111111110101001100000000000000000000000000000000000000000000

Passo 1

Beleza, então o enunciado pede pra gente pegar esse número de 64 bits que tá no formato de ponto flutuante (double precision, ou seja, 1 bit de sinal + 11 bits de expoente + 52 bits de fração) e transformar no valor decimal equivalente. Vamos usar as regrinhas do IEEE-754 (bias de 1023, mantissa com “1.” implícito, etc.). Precisamos identificar o bit de sinal, extrair o expoente, “desbiasar” ele e depois montar a mantissa pra, no fim, juntar tudo e achar o número em decimal.

Passo 2

Primeiro, vamos separar o bit de sinal (o primeiro bit):
1011111111110101…
Sinal = 1 → isso quer dizer que o número é negativo, pois .

Passo 3

Agora os próximos 11 bits são o expoente:
1011111111110101…
↑^^^^^^^^^^^
01111111111₂ = 1023₁₀
No formato double, o expoente armazenado tem bias 1023, então o expoente real é
E = 1023 - 1023 = 0

Passo 4

Os 52 bits seguintes formam a fração (mantissa), mas a gente sabe que, em ponto flutuante normalizado, a mantissa é f = 0cdot2^-1 + 1cdot2^-2 + 0cdot2^-3 + 1cdot2^-4 + 0cdot2^-5 + 0cdot2^-6 + 1cdot2^-7 + 1cdot2^-8 + dots = 14 + 116 + 1128 + 1256 , onde 14 = 0,25, 116=0,0625, 1128approx0,0078125, 1256approx0,00390625 vem desses bits. Os primeiros 8 bits da fração são:
01010011…
Isso dá
f = 0,25 + 0,0625 + 0,0078125 + 0,00390625 = 0,32421875
Calculando:
Somando tudo:
Logo a mantissa

Passo 5

Por fim, juntamos sinal, mantissa e expoente:
valor = (-1)^sinal times M times 2^E = (-1)^1 times 1,32421875 times 2^0 = -1,32421875

Resposta

Exercícios relacionados