Realize as seguintes transformações:
Converta os números
e
para uma representação binária em ponto flutuante com 14 bits, dos quais 6 bits são usados para o expoente.
Converta os números
Passo 1
O que o enunciado pede e as informações dadas:\n
- Converter os números
e para uma representação em ponto flutuante com bits no total.\n - Desses
bits, são usados para o expoente.\n - Não há instrução explícita sobre o modo de arredondamento; vou usar arredondamento para o mais próximo (round-to-nearest), arredondando para cima quando o bit seguinte for
e existirem bits subsequentes não nulos (ou em caso de empate faço tie-to-even). Vou avisar sempre quando arredondar.\n
Informações relevantes que vamos usar (a partir do formato):\n - Total de bits
.\n - Bits:
bit de sinal, bits de expoente, bits de fração (mantissa sem o 1 implícito), porque .\n - Bias do expoente (para
bits) é .\n - Representação normalizada: número ≈
, com o expoente armazenado .\n - Expoente armazenado
cabe em bits (valores a ); e são especiais (subnormais/zero e Inf/NaN). Para números normalizados , logo varia entre e .\n
Passo 2
Breve aula sobre como montar o número final (passo-a-passo didático):\n
- Determinar o bit de sinal:
para positivo, para negativo.\n - Escrever o valor absoluto em binário separando parte inteira e parte fracionária.\n
- Para a parte inteira usamos divisões sucessivas por
(restos formam os bits).\n - Para a parte fracionária usamos multiplicações sucessivas por
(a parte inteira do produto é o próximo bit fracionário).\n3) Normalizar para a forma . O deslocamento feito dá o expoente .\n4) Calcular e escrever em bits binários.\n5) Preencher os bits de fração pegando os primeiros bits após o . Se existir mais bits além dos , usar-os para decidir o arredondamento (guard/round/sticky):\n - Se o próximo bit (guard) é e os seguintes todos , não arredonda.\n - Se o próximo bit é e quaisquer bits seguintes são (ou for empate com bit anterior ímpar), arredonda para cima.\n6) Concatenar: .\n
Agora aplicamos isso aos dois números, passo a passo.
- Para a parte inteira usamos divisões sucessivas por
Passo 3
Conversão de
:\n
a) Sinal: como é negativo, .\n
b) Converter para binário (divisões por
):\n
resto
\n
resto
\n
resto
\n
resto
\n
resto
\n
resto
\n
Lendo os restos de baixo para cima obtemos .\n
c) Normalizar :\n
(porque deslocamos o ponto 5 posições à esquerda).\n
Logo .\n
d) Expoente armazenado: .\n
Escrever em
bits:\n
em binário
(6 bits:
).\n
e) Mantissa (7 bits): a parte fracionária do formato normalizado é . Precisamos de
bits após o ponto:\n
A sequência fracionária é seguida de zeros (pois
é inteiro), então preenchendo até 7 bits obtemos
(acrescentando dois zeros à direita).\n
Não há mais bits além desses (todos zeros), portanto nenhum arredondamento é necessário.\n
f) Montagem final: sinal , expoente
, fração
.\n
Concatenando: . Em único bloco de
bits:
.\n
(Se quiser conferir: esse padrão representa , que é exatamente
porque os bits fracionários correspondem exatamente a
.)
a) Sinal: como é negativo,
b) Converter
Lendo os restos de baixo para cima obtemos
c) Normalizar
Logo
d) Expoente armazenado:
Escrever
e) Mantissa (7 bits): a parte fracionária do formato normalizado é
A sequência fracionária é
Não há mais bits além desses (todos zeros), portanto nenhum arredondamento é necessário.\n
f) Montagem final: sinal
Concatenando:
(Se quiser conferir: esse padrão representa
Passo 4
Conversão de
:\n
a) Sinal: número positivo → .\n
b) Parte inteira para binário (divisões ou decomposição):\n
Usando potências: → bits em posições
.\n\n
Portanto . (Confere:
.)\n
c) Parte fracionária para binário (multiplicações sucessivas por
):\n
→ bit
, resto
.\n
→ bit
, resto
.\n
→ bit
, resto
.\n
→ bit
, resto
.\n
→ bit
, resto
.\n
A partir daqui vemos que o resto se repete, então a sequência de bits fracionários entra em ciclo.\n
Os primeiros bits fracionários são: .\n
Observação: a sequência é periódica (repete depois do começo), então não é representável exatamente com poucos bits.\n
d) Normalizar o número inteiro+fracionário:\n
O binário completo é .\n
Para normalizar colocamos o ponto depois do primeiro :\n
.\n
Logo .\n
e) Expoente armazenado: .\n
Em bits:
.\n
f) Determinar os bits de fração (os 7 primeiros bits após o
na forma normalizada):\n
A sequência logo após o é a concatenação dos bits remanescentes da parte inteira (os
bits menos o primeiro) e da parte fracionária da conversão:\n
Os primeiros bits após o são:
\n
(especificamente, os 8 bits da parte inteira residual são , e depois vêm os bits da fração
).\n
Pegamos os primeiros bits:
, ou seja
em bloco
.\n
g) Arredondamento: olhamos o bit seguinte (o oitavo bit) e os bits subsequentes para decidir arredondar.\n
a) Sinal: número positivo →
b) Parte inteira
Usando potências:
Portanto
c) Parte fracionária
A partir daqui vemos que o resto
Os primeiros bits fracionários são:
Observação: a sequência é periódica (repete
d) Normalizar o número inteiro+fracionário:\n
O binário completo é
Para normalizar colocamos o ponto depois do primeiro
Logo
e) Expoente armazenado:
Em
f) Determinar os
A sequência logo após o
Os primeiros bits após o
(especificamente, os 8 bits da parte inteira residual são
Pegamos os primeiros
g) Arredondamento: olhamos o bit seguinte (o oitavo bit) e os bits subsequentes para decidir arredondar.\n
- O bit
(guard bit) é (é o último bit da parte inteira residual, o após o ponto).\n- Existem bits seguintes não nulos (vêm os bits da fração, começando por ).\n
Portanto, pelo critério round-to-nearest, devemos arredondar para cima somandoao LSB dos bits mantissa.\n\n
h) Soma para arredondar:.\n
Sem overflow — o acréscimo cabe nosbits.\n
i) Montagem final: sinal, expoente , fração .\n
Concatenando:. Em único bloco de bits: .\n
(Interpretação aproximada: isso representa, que é uma aproximação de ; a diferença vem da truncatura/arredondamento da parte fracionária binária infinita.)
Passo 5
Resumo e checagens rápidas (didática final):\n
- Para
vimos que era exato na forma binária inteira, a mantissa coube sem arredondamento.\n - Para
a parte fracionária em binário é periódica, por isso tivemos que truncar e arredondar; por isso o bit seguinte sendo e existirem bits subsequentes não nulos forçaram o arredondamento para cima da mantissa.\n
Isso cobre todo o procedimento que você precisará aplicar na prova: converter parte inteira por divisões, parte fracionária por multiplicações, normalizar, calcular, preencher mantissa e aplicar arredondamento seguindo guard/round/sticky.\n
Você consegue — respira e confia no passo a passo. 😉