Para as operações abaixo, considerando números sinalizados com largura de 8 bits, converta os valores para binário antes de efetuar as operações. Verifique os resultados na base decimal.
-39+89=

Passo 1

O que o enunciado pede e o que é dado:
  • Fazer a operação -39 + 89 assumindo números sinalizados com largura de 8 bits.
  • Antes de somar, converter os valores para representação binária de 8 bits.
  • Verificar o resultado na base decimal.
  • Importante: considerar a representação de inteiros sinalizados típica em computação (forma que será usada na resolução).

Passo 2

Verificação rápida de validade dos operandos para 8 bits:
  • Em representação com 8 bits em complemento de dois, os inteiros representáveis vão de -128 até +127.
  • Os números dados -39 e 89 estão dentro desse intervalo, portanto podem ser representados em 8 bits sem overflow de representação.

Passo 3

Converter 89 para binário com 8 bits (número positivo):
  • Para escrever 89 em binário, decompor em potências de dois: 89 = 64 + 16 + 8 + 1 = 2^{6} + 2^{4} + 2^{3} + 2^{0}.
  • Então a sequência de bits, do mais significativo (bit7) ao menos significativo (bit0), é 89 = 01011001_{2}.(Aqui o bit7 é 0 porque o número é positivo e ocupamos 8 bits.)

Passo 4

Converter -39 para binário com 8 bits em complemento de dois:
  • Primeiro representamos +39 em binário: 39 = 32 + 4 + 2 + 1 = 2^{5}+2^{2}+2^{1}+2^{0},logo 39 = 00100111_{2}.
  • Para obter -39 em complemento de dois: inverte-se os bits de 00100111_{2} e soma-se 1.
    • Inversão (bitwise NOT): \overline{00100111_{2}} = 11011000_{2}.
    • Somar 1: 11011000_{2} + 00000001_{2} = 11011001_{2}.
  • Portanto -39 = 11011001_{2}\quad(\text{em complemento de dois, 8 bits}).

Passo 5

Preparando a soma em binário (os dois operandos em 8 bits):
\begin{array}{r} -39 = 11011001_{2}\\[2pt] \phantom{+}89 = 01011001_{2}\\hline \end{array}]

Passo 6

Somar bit a bit com carry (mostrando passo a passo dos bits menos significativos para os mais significativos):
  • Soma coluna por coluna (LSB à MSB): \begin{array}{r@{\;}c@{\;}r@{\;}c@{\;}r@{\;}c@{\;}r@{\;}c@{\;}r@{\;}c@{\;}r@{\;}c@{\;}r@{\;}c@{\;}r} & & 1 &1 &0 &1 &1 &0 &0 &1\\[-2pt] + & & 0 &1 &0 &1 &1 &0 &0 &1\\hline & & 0 &0 &1 &1 &0 &0 &1 &0 \end{array}(O resultado escrito acima é o vetor de 8 bits resultante; um carry final saiu do bit mais significativo.)
  • Resultado em 8 bits (ignorando carry de saída) é 00110010_{2}.
  • Observação sobre overflow: em complemento de dois a condição de overflow em soma é quando os dois operandos têm o mesmo sinal e o sinal do resultado é diferente. Aqui os operandos têm sinais opostos ( -39 e +89), então overflow não pode ocorrer. O carry fora do octeto deve ser descartado na aritmética em complemento de dois.]

Passo 7

Converter o resultado binário 00110010_{2} para decimal para verificação:
  • Avaliar as potências de dois presentes: 00110010_{2} = 2^{5} + 2^{4} + 2^{1} = 32 + 16 + 2 = 50.
  • Verificação direta em decimal: -39 + 89 = 50.

Resposta

50

Exercícios relacionados