Qual número é armazenado como 0 x49179EA0 conforme a norma IEEE 754 ?
(a) 84.0011 E 2
(b) 62.1034 E 4
(c) 37.1011 E 3
(a) 84.0011 E 2
(b) 62.1034 E 4
(c) 37.1011 E 3
Passo 1
O enunciado dá o valor em hexadecimal
e pergunta qual número esse padrão armazena segundo a norma IEEE 754 (com as três alternativas abaixo):
(a)
(b)
(c)
(a)
(b)
(c)
Informações relevantes dadas: o número em memória em formato hexadecimal
e três opções em notação científica para comparar. A tarefa é converter
para o número real que ela representa em IEEE 754 (presumindo precisão simples, 32 bits).
Passo 2
Breve explicação do formato IEEE 754 (precisão simples, 32 bits) — importante para a prova:
- Um número IEEE 754 de 32 bits tem três partes:
- sinal
: 1 bit (0 para positivo, 1 para negativo); - expoente armazenado
: 8 bits, com bias ; - fração (mantissa)
: 23 bits.
- sinal
- Para números normalizados o valor é dado por
onde
é a fração (valor entre 0 e
) e
- Aqui
, com sendo o inteiro correspondente aos 23 bits da fração.
Passo 3
Convertemos o hexadecimal em binário (cada byte em 8 bits). Peguei o dado da hex
e converti byte a byte:
Concatenando temos os 32 bits:
Passo 4
Extraímos as três partes do campo:
- bit de sinal
= primeiro bit = (logo número positivo). - expoente (próximos 8 bits) =
.
Calculamos o valor decimal do campo do expoente:Então o expoente real é - fração (23 bits restantes) são os 23 bits seguintes (peguei esses bits da sequência binária acima):
(mais explicitamente os 23 bits:
).
Passo 5
Vamos calcular o inteiro
correspondente à fração (soma de potências de 2). Cada bit
da fração contribui com
. Somando as contribuições (mostrando os termos não-nulos):
Calculando:
Somando tudo:
A mantissa (significand) é
Passo 6
Agora aplicamos a fórmula do valor com
:
Simplificamos:
. Então
Portanto o número representado por
é exatamente
.
Passo 7
Comparamos com as alternativas:
- (a)
(não é ); - (b)
(combina perfeitamente); - (c)
(não é ).
Logo a alternativa correta é a (b).
Resposta
(b)