Use o formato real longo de 64 bits para determinar o equivalente decimal dos seguintes números de máquina em ponto flutuante.
1011111111110101001100000000000000000000000000000000000000000000
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 .
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 é
1011111111110101…
↑^^^^^^^^^^^
01111111111₂ = 1023₁₀
No formato double, o expoente armazenado tem bias 1023, então o expoente real é
Passo 4
Os 52 bits seguintes formam a fração (mantissa), mas a gente sabe que, em ponto flutuante normalizado, a mantissa é
, onde
vem desses bits. Os primeiros 8 bits da fração são:
01010011…
Isso dá
01010011…
Isso dá
Calculando:
Somando tudo:
Logo a mantissa
Passo 5
Por fim, juntamos sinal, mantissa e expoente: