Realize as seguintes transformações:
Converta os números +7_{10} \mathrm{e}-88_{10} para código binário com 7 bits com sinal.

Passo 1

O que o enunciado pede: converter os números +7_{10} e -88_{10} para código binário com 7 bits com sinal. Informação dada: temos dois números decimais e um formato de saída — “7 bits com sinal” (ou seja, cada representação terá exatamente 7 bits, incluindo o bit de sinal).

Passo 2

Escolha do método: quando o enunciado pede “binário com n bits com sinal” sem especificar, o procedimento mais usado (e mais provável na prova) é o código em complemento de dois, porque é o formato padrão em computadores e em exercícios que pedem representação de números inteiros com sinal. Vou usar complemento de dois aqui. (Existem outras encodings possíveis — sinal-magnitude e complemento de um — mas elas têm faixas e tratamento parecidos quanto ao alcance máximo; explico abaixo por que não serve para -88.)

Passo 3

Revisão rápida e didática do complemento de dois (o que você precisa saber para a prova):
  • Com n bits no complemento de dois, a faixa de valores representáveis é
-2^{\,n-1}\\ \text{até}\\\ 2^{\,n-1}-1.é
Aqui n é o número total de bits (incluindo o bit de sinal). O bit mais à esquerda tem peso -2^{\,n-1} e os demais têm pesos 2^{\,n-2},2^{\,n-3},\dots,2^{0}.
  • Como converter:
    • Para um número positivo (ou zero): escreva a sua representação binária normal e preencha com zeros à esquerda até ter n bits.
    • Para um número negativo: escolha uma das maneiras equivalentes:
      1. Calcule a representação binária de |x| em n bits, inverta todos os bits (0↔1) e some 1 — isso dá o complemento de dois.
      2. Ou calcule 2^{n} + x (já que x é negativo), e escreva o resultado em n bits.
  • Exemplo simples: com n=4, a faixa é -8 a 7. O -3 em 4 bits: 3 = 0011, inverter → 1100, somar 1 → 1101.

Passo 4

Verificação da faixa para n=7:
  • Calcule 2^{\,n-1}=2^{6}=64.
  • Então a faixa é
-2^{6} \text{ até } 2^{6}-1,é
ou seja
-64 \text{ até } 63.é
Qualquer número fora dessa faixa não pode ser representado em complemento de dois com 7 bits (vai ocorrer overflow / estouro).

Passo 5

Conversão de +7_{10} (passo a passo):
  • Decomposição em potências de dois: 7 = 2^{2}+2^{1}+2^{0}.
  • Em binário isso é 111 (bits para 2^{2},2^{1},2^{0}).
  • Precisamos de exatamente 7 bits, então preenchemos com zeros à esquerda até ter 7 bits:
+7_{10} \longrightarrow 0000111_{2}.
  • Confirmação de faixa: +7 está entre -64 e 63, logo representável.

Passo 6

Tentativa de converter -88_{10} e checagem de possibilidade:
  • Pela faixa de n=7 que achamos, só podemos representar valores entre -64 e 63.
  • Como -88 < -64, concluímos que -88_{10} NÃO é representável em 7 bits com sinal (nem em complemento de dois nem em sinal-magnitude nem em complemento de um — em todos esses formatos a magnitude máxima representável com 7 bits é 63).
  • Portanto em 7 bits há estouro (overflow) e não existe um bit-pattern válido de 7 bits que corresponda a -88.

Passo 7

Informação útil extra (para você levar à prova): quantos bits seriam necessários para representar -88 em complemento de dois?
  • Precisamos de n tal que 2^{\,n-1}\ge 88.
  • 2^{6}=64 (não basta), 2^{7}=128 (já basta). Assim n-1=7 n=8.
  • Ou seja, com 8 bits dá para representar -88. Só para completar, em 8 bits:
    • 88_{10} = 01011000_{2}.
    • Invertemos: 10100111.
    • Somamos 1: 10101000_{2}.
    • Logo -88_{10} em 8 bits (complemento de dois) é 10101000_{2}.

Resposta

+7_{10} = 0000111_{2}
-88_{10} não é representável em 7 bits (faixa -64 a 63).

Exercícios relacionados