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.
105-84=

Passo 1

O enunciado dá dois números sinalizados com largura de 8 bits e pede para: (a) converter os valores para binário antes de efetuar a operação; (b) realizar a operação 105-84 em binário usando representação de 8 bits; (c) verificar o resultado na base decimal. Os dados relevantes são:
  • Primeiro operando: 105.
  • Segundo operando: 84.
  • Cada número deve ser representado em 8 bits com sinal (intervalo permitido -128 a 127).

Passo 2

Converter 105 para binário em 8 bits (representação de números positivos: bit de sinal 0 e bits de magnitude).
Explicação do método curto: escolher potências de 2 que somam 105:
105 = 64 + 32 + 8 + 1 = 2^{6}+2^{5}+2^{3}+2^{0}.
Colocando esses bits em ordem do bit mais significativo (2^{7}) ao menos significativo (2^{0}) obtemos:
105 = 0\,1\,1\,0\,1\,0\,0\,1.
Em notação usual de 8 bits:
105 = 01101001_{(2)}.

Passo 3

Converter 84 para binário em 8 bits (positivos seguem mesma regra).
Escolhendo potências de 2:
84 = 64 + 16 + 4 = 2^{6}+2^{4}+2^{2}.
Logo:
84 = 0\,1\,0\,1\,0\,1\,0\,0,
ou seja
84 = 01010100_{(2)}.

Passo 4

Para calcular 105-84 em representação binária com números sinalizados, é comum transformar a subtração em soma usando o complemento de dois de 84 (isto dá -84) e somar a 105. Vou explicar o que é complemento de dois: para obter o número negativo de um valor positivo em 8 bits, inverte-se todos os bits (complemento bit a bit) e soma-se 1. Isso garante a representação adequada para adição com sinal.
Primeiro inverto todos os bits de 84 = 01010100_{(2)}:
\text{inverso} = 10101011_{(2)}.
Agora somo 1 ao inverso para obter o complemento de dois:
10101011_{(2)} + 00000001_{(2)} = 10101100_{(2)}.
Portanto o padrão de 8 bits que representa -84 é
-84 = 10101100_{(2)}.

Passo 5

Agora somo 105 e -84 em binário (adição bit a bit com transportes). Escrevendo os dois operandos:
\begin{array}{r} 01101001\\\\ +10101100\\\ \hline 00010101 \end{array}
Vou detalhar a soma bit a bit (do menos significativo para o mais significativo), mostrando transportes:
  • b0: 1+0=1 (transport 0)
  • b1: 0+0=0 (transport 0)
  • b2: 0+1=1 (transport 0)
  • b3: 1+1=0 (transport 1)
  • b4: 0+0+\text{transport }1=1 (transport 0)
  • b5: 1+1=0 (transport 1)
  • b6: 1+0+\text{transport }1=0 (transport 1)
  • b7: 0+1+\text{transport }1=0 (transport 1, que é um carry-out)
O resultado de 8 bits (ignorando o carry-out final em complemento de dois) é
00010101_{(2)}.

Passo 6

Interpretar o resultado em decimal e verificar:
  • Em binário com 8 bits 00010101_{(2)} é um número positivo (bit de sinal 0). Converto para decimal somando potências de 2:
00010101_{(2)} = 2^{4}+2^{2}+2^{0} = 16 + 4 + 1 = 21.
  • Verificação direta em decimal: 105-84 = 21. Confere com o resultado binário obtido.

Resposta

21

Exercícios relacionados