- (Conversão para IEEE 754 de 32 Bits) Converta o seguinte número decimal para a representação IEEE 754 (32 bits):
d) -7.875
d) -7.875
Passo 1
Resumo do enunciado: a gente quer converter o número decimal –7,875 para a forma IEEE 754 de 32 bits.
Conteúdo: representação de ponto flutuante no padrão IEEE 754 (single precision).
O que vamos precisar:
Conteúdo: representação de ponto flutuante no padrão IEEE 754 (single precision).
O que vamos precisar:
- Separar sinal, parte inteira e parte fracionária.
- Converter cada parte para binário.
- Normalizar em forma 1.xxxxx × 2^e.
- Calcular o expoente “com bias” (no single precision, bias = 127).
- Montar o mantissa (23 bits depois do “1.”).
- Juntar tudo: [sinal | expoente(8 bits) | mantissa(23 bits)].
Passo 2
Definir o bit de sinal.
Como o número é –7,875, o bit de sinal s = 1 (1 = negativo, 0 = positivo).
Como o número é –7,875, o bit de sinal s = 1 (1 = negativo, 0 = positivo).
Passo 3
Converter a parte inteira e fracionária para binário.
7 em binário = 111.
0,875 em binário:
0,875 × 2 = 1,75 → pega 1
0,75 × 2 = 1,5 → pega 1
0,5 × 2 = 1,0 → pega 1
Como deu resto zero, paramos. Então 0,875₁₀ = 0,111₂.
Juntando: 7,875₁₀ = 111,111₂.
7 em binário = 111.
0,875 em binário:
0,875 × 2 = 1,75 → pega 1
0,75 × 2 = 1,5 → pega 1
0,5 × 2 = 1,0 → pega 1
Como deu resto zero, paramos. Então 0,875₁₀ = 0,111₂.
Juntando: 7,875₁₀ = 111,111₂.
Passo 4
Normalizar o número na forma 1.xxxx × 2^e.
111,111₂ = 1,11111₂ × 2^2
Aqui a mantissa “1.” fica 1,11111 e o expoente e = 2.
111,111₂ = 1,11111₂ × 2^2
Aqui a mantissa “1.” fica 1,11111 e o expoente e = 2.
Passo 5
Calcular o expoente com bias.
Na single precision, bias = 127.
Expoente armazenado = e + bias = 2 + 127 = 129.
129 em binário de 8 bits:
129 ÷ 2 → resto 1
64 ÷ 2 → resto 0
… dá 10000001₂.
Na single precision, bias = 127.
Expoente armazenado = e + bias = 2 + 127 = 129.
129 em binário de 8 bits:
129 ÷ 2 → resto 1
64 ÷ 2 → resto 0
… dá 10000001₂.
Passo 6
Construir a mantissa (fraction).
Da forma normalizada 1,11111₂, a gente não armazena o “1.” porque é implícito.
Em bits: mantissa = tudo que vier depois do ponto, preenchendo 23 bits:
11111…0 (preencha zeros até 23 bits)
Escrevendo: 11111000000000000000000₍₂₎
Da forma normalizada 1,11111₂, a gente não armazena o “1.” porque é implícito.
Em bits: mantissa = tudo que vier depois do ponto, preenchendo 23 bits:
11111…0 (preencha zeros até 23 bits)
Escrevendo: 11111000000000000000000₍₂₎
Passo 7
Juntar tudo
s = 1
expoente = 10000001
mantissa = 11111000000000000000000
s = 1
expoente = 10000001
mantissa = 11111000000000000000000
Então a representação final em 32 bits é:
1 10000001 11111000000000000000000
1 10000001 11111000000000000000000
Resposta
11000000111111000000000000000000₍₂₎