Questão 5 Converta o número para a base 2 e escreva o número binária na forma de ponto flutuante. Máquina de 32 bits: exp
=8 bits; frac
=23 bits; s=1 bit, onde x=(-1)^s M times 2^c-B I A S com B I A S=127 e M=(1 m1 m2 m22 m23)2.
[s|c8 c7 cdots c3 c2 c1| m1 m2 cdots m22 m23]
x=(0.1)10

Passo 1

O enunciado pede para converter x=(0.1)10 para a representação IEEE-754 de 32 bits (ponto flutuante simples), que tem 1 bit de sinal s, 8 bits de expoente c com bias 127 e 23 bits de fração m1ldots m23. Vamos precisar (a) escrever 0,1 em binário, (b) normalizar na forma 1m1m2ldotstimes2^e, (c) calcular o expoente com bias e (d) extrair/arrendondar os bits da mantissa.

Passo 2

Para converter 0,1 em binário usamos multiplicação sucessiva por 2 sobre a parte fracionária:
0,1times2&=0,;2(bit 0) 0,2times2&=0,;4(bit 0) 0,4times2&=0,;8(bit 0) 0,8times2&=1,;6(bit 1) 0,6times2&=1,;2(bit 1) 0,2times2&=0,;4(bit 0) 0,4times2&=0,;8(bit 0) 0,8times2&=1,;6(bit 1) e assim por diante
Isso gera a expansão periódica
(0,1)10=(0.00011001100110011001100ldots)2,
com repetição do bloco “0011”.

Passo 3

Normalizamos deslocando o ponto até obter um dígito “1” antes da vírgula:
0.00011001100ldots2 = 1.10011001100ldots2 times 2^-4
Logo o expoente não biasado é e=-4 e a mantissa (sem o “1.”) começa em
m1m2m3ldots = 10011001100110011001100ldots

Passo 4

Aplicamos o bias de 127:
E = e + 127 = -4 +127 = 123
Convertendo 123 para 8 bits:
123 = 64+32+16+8+2+1 implies (01111011)2

Passo 5

Pegamos os primeiros 23 bits após o “1.” para formar m1ldots m23:
10011001100110011001100
Em seguida olhamos o bit seguinte (guard) e os demais (sticky). O guard é 1 e há bits “1” além dele, então, pelo arredondamento round-to-nearest, somamos 1 ao bit menos significativo:
10011001100110011001100 ;+; underbrace000ldots00123 bits, soma de 1 no LSB ;=; 10011001100110011001101

Passo 6

Agora juntamos tudo:
s =0, c8ldots1 = 01111011, m1ldots23 = 10011001100110011001101

Resposta

l[,0;|;01111011;|;10011001100110011001101r]

Exercícios relacionados