Parte dos computadores utilizados para a resolução de problemas de Engenharia utilizam uma linguagem binária considerando uma cadeia de 64 bits. Sendo você um candidato a futuro engenheiro, mostre que você entende a linguagem usada pelo computador escrevendo o número decimal x=-12,345 numa representação em ponto flutuante na base 2.
Normalize o número e represente-o em notação de ponto flutuante na base 2:

Passo 1

Então, o exercício pede para a gente pegar o número decimal x = –12,345 e escrever ele em ponto‐flutuante binário usando 64 bits (ou seja, no formato IEEE 754 “double precision”).
Conteúdo que vamos usar:
  1. Conversão de parte inteira e parte fracionária em base 2.
  2. Normalização em forma 1. .
  3. Código IEEE 754: 1 bit de sinal, 11 bits de expoente (com bias 1023) e 52 bits de mantissa.

Passo 2

Converter 12,345₁₀ para binário:
  • Parte inteira 12 → em binário é
1210 = 8 + 4 = 2^3 + 2^2 ;longrightarrow; (1100)2
  • Parte fracionária 0,345 → multiplico repetidamente por 2 e anoto a parte inteira:
0,345cdot2 &= 0,69to 0, 0,69cdot2 &= 1,38to 1,;resto 0,38, 0,38cdot2 &= 0,76to 0, 0,76cdot2 &= 1,52to 1,;resto 0,52, 0,52cdot2 &= 1,04to 1,;resto 0,04, &dots
Juntando vários passos a gente obtém, aproximando:
0,34510approx (0.0101100010001111010111ldots)2
Logo,
12,34510 ;=; (1100.0101100010001111010111ldots)2

Passo 3

Normalizar em formato científico binário “1. 1100.01011000ldots2 = 1.10001011000ldots2 ;times; 2^3 m = 1000101100010001111010111ldots ”:
Aqui
  • o “1.” é o bit implícito que não guardamos na mantissa,
  • a mantissa guardada será tudo que vem depois do ponto:
  • e o expoente real é .

Passo 4

Agora aplicamos o bias do IEEE 754 (bias = 1023 para double):
E = e + 1023 = 3 + 1023 = 1026
Transformando 102610 = 1024 + 2 = 2^10 + 2^1 ;longrightarrow; (10000000010)2 em binário (11 bits):

Passo 5

Montamos os campos de 64 bits:
  1. Bit de sinal 1000101100010001111010111000000000000000000000000000 : como o número é negativo, .
  2. Expoente em 11 bits: .
  3. Mantissa em 52 bits: pegamos os primeiros 52 bits de
    e completamos com zeros:

Resposta

A representação IEEE 754 double de underbrace1S;|;underbrace10000000010expoente;|;underbrace1000101100010001111010111000000000000000000000000000mantissa (52 bits) é, em binário:
Ou seja, todo junto:
1 10000000010 1000101100010001111010111000000000000000000000000000

Exercícios relacionados