1. ( 0,5 pontos) Converta -2047_{\text {dec }} para um número binário em complemento de dois com 32 bits.

Passo 1

O enunciado pede para converter o número decimal -2047_{\text{dec}} para a representação em binário com complemento de dois usando exatamente 32 bits.
Informações dadas: o número é -2047 (decimal) e a largura desejada é 32 bits.

Passo 2

O que é complemento de dois e qual o método prático de conversão (explicação didática):
  • Em complemento de dois com n bits, números negativos são representados pelo seu valor modulo 2^{n}. Em termos simples, para representar -N (com N>0) em n bits podemos usar um destes métodos equivalentes:
    1. Escrever N em binário com n bits (preenchendo com zeros à esquerda), inverter todos os bits (0→1 e 1→0) e somar 1 ao resultado.
    2. Calcular 2^{n}-N em decimal e converter esse resultado para binário com n bits.
  • Vou usar o método (1) porque é direto e fácil de fazer “na caneta” na prova: magnitude → inverter → somar 1. Vou explicar cada passo com cuidado para você poder reproduzir.

Passo 3

Calcular a representação binária de 2047 (a magnitude):
  • Observe que 2047 = 2^{11}-1. Isso significa que em binário 2047 é formado por 11 uns seguidos (porque 2^{11}-1 tem os 11 menores bits iguais a 1).
  • Portanto a representação binária de 2047 é \underbrace{11111111111}_{11\text{ uns}}.
  • Agora escrevemos 2047 com 32 bits, preenchendo com zeros à esquerda (vou agrupar em bytes para facilitar a leitura):
00000000\;00000000\;00000111\;11111111
(essa é a forma em 32 bits de +2047; em hexadecimal é \mathrm{0x000007FF}, caso queira visualizar).

Passo 4

Inverter todos os bits (primeira etapa do complemento de dois):
  • Trocar cada 0 por 1 e cada 1 por 0 na sequência de 32 bits obtida no passo anterior. O resultado da inversão é:
11111111\;11111111\;11111000\;00000000
(esse valor corresponde a inverter \mathrm{0x000007FF}, o que dá \mathrm{0xFFFFF800} em hexadecimal).

Passo 5

Somar 1 ao resultado da inversão (segunda etapa do complemento de dois):
  • Somamos 1 ao valor binário do passo anterior. Como os últimos bits eram \ldots 00000000, a soma é simples (sem várias retenções):
11111111\;11111111\;11111000\;00000000 + 00000000\;00000000\;00000000\;00000001 = 11111111\;11111111\;11111000\;00000001
  • Este é o complemento de dois de -2047 em 32 bits. Em hexadecimal isso é \mathrm{0xFFFFF801}. Em decimal não-assinado corresponde a 4294965249, e interpretando em complemento de dois como inteiro com sinal dá exatamente -2047 (verificação rápida: 4294965249-2^{32}=-2047).

Passo 6

Resumo do raciocínio e verificação curta (para você se sentir seguro na prova):
  • Resumo: +2047 = \mathrm{0x000007FF} → inverter → \mathrm{0xFFFFF800} → somar 1 \mathrm{0xFFFFF801}. Em binário de 32 bits: \;11111111\;11111111\;11111000\;00000001.
  • Verificação rápida por contas: 2^{32}-2047 = 4294965249 = \mathrm{0xFFFFF801}, bate com o resultado obtido pelo método inverter+1.

Resposta

11111111\;11111111\;11111000\;00000001

Exercícios relacionados