Parte dos computadores utilizados para a resolução de problemas de Engenharia utilizam uma linguagem binária considerando uma cadeia de 32 bits. Mostre que você entende a linguagem usada pelo computador escrevendo o número decimal x=-48, XXX numa representação em ponto flutuante na base 2. Obs.: Adote XXX como sendo os últimos 3 dígitos de sua matrícula.
Normalize o número e represente-o em notação de ponto flutuante na base 2;

Passo 1

Beleza, então o enunciado pede para você representar o número decimal
x = -48,XXX
num formato de ponto flutuante de 32 bits (padrão IEEE 754).
Conteúdo da matéria: ponto flutuante IEEE 754 (sinal, expoente com bias, mantissa) e conversão de decimal para binário (parte inteira e parte fracionária).
O que vamos precisar:
  • Converter 48 para binário.
  • Converter a parte fracionária para binário.
  • Normalizar (ficar no formato 1.xxxxx × 2^E).
  • Calcular expoente com bias (E + 127).
  • Preencher sinal, expoente (8 bits) e mantissa (23 bits).

Passo 2

Converter a parte inteira 48 para binário.
48÷2 = 24 resto 0
24÷2 = 12 resto 0
12÷2 = 6 resto 0
6÷2 = 3 resto 0
3÷2 = 1 resto 1
1÷2 = 0 resto 1
Lendo de baixo pra cima:
4810 = 1100002

Passo 3

Converter a parte fracionária XXX10 = 0b1b2b3cdots b23dots2 para binário.
Suponha que fração = XXX/1000. A técnica é multiplicar sucessivamente por 2:
  1. . Se , anota 1 e continua com ; senão anota 0 e continua com .
  2. Repetir até obter 23 bits (ou parar quando der exato).
    O resultado será algo como

Passo 4

Juntar as duas partes (inteira e fracionária):
-48,XXX10 = -l(110000b1b2b3cdotsr)2

Passo 5

Normalizar para forma 1.xxxxxx × 2^E.
Aqui deslocamos o ponto 5 posições à esquerda (porque 110000₂ = 1.10000₂×2^5):
-48,XXX10 = -l(1.10000,b1b2b3cdotsr)2times2^5
Então E = 5.

Passo 6

Calcular o expoente com bias (127 para single-precision):
Ebiased = E + 127 = 5 + 127 = 132
Converter 132 para binário:
132÷2=66 r0, 66÷2=33 r0, 33÷2=16 r1, 16÷2=8 r0, 8÷2=4 r0, 4÷2=2 r0, 2÷2=1 r0, 1÷2=0 r1.
Ou seja,
13210 = 100001002

Passo 7

Montar os campos:
  1. Sinal (1 bit): como x é negativo, sinal = 1.
  2. Expoente (8 bits): 10000100.
  3. Mantissa (23 bits): os 23 primeiros bits depois do “.” em 1.10000b₁b₂b₃…
    Mantissa = 10000 b₁ b₂ b₃ … bₙ até preencher 23 bits (se faltar, preenche com zeros).

Resposta

A representação final em IEEE 754 single-precision (32 bits) fica:
underbrace1sinal;|;underbrace10000100expoente;|;underbrace10000,b1,b2,b3cdots b23mantissa
Onde são os bits da conversão binária da parte fracionária .

Exercícios relacionados