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.
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
em binário usando representação de 8 bits; (c) verificar o resultado na base decimal. Os dados relevantes são:
- Primeiro operando:
. - Segundo operando:
. - Cada número deve ser representado em 8 bits com sinal (intervalo permitido
a ).
Passo 2
Converter
para binário em 8 bits (representação de números positivos: bit de sinal
e bits de magnitude).
Explicação do método curto: escolher potências de que somam
:
Explicação do método curto: escolher potências de
Colocando esses bits em ordem do bit mais significativo (2^{7}) ao menos significativo (2^{0}) obtemos:
Em notação usual de 8 bits:
Passo 3
Converter
para binário em 8 bits (positivos seguem mesma regra).
Escolhendo potências de :
Escolhendo potências de
Logo:
ou seja
Passo 4
Para calcular
em representação binária com números sinalizados, é comum transformar a subtração em soma usando o complemento de dois de
(isto dá
) e somar a
. 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
. Isso garante a representação adequada para adição com sinal.
Primeiro inverto todos os bits de
:
Agora somo
ao inverso para obter o complemento de dois:
Portanto o padrão de 8 bits que representa
é
Passo 5
Agora somo
e
em binário (adição bit a bit com transportes). Escrevendo os dois operandos:
Vou detalhar a soma bit a bit (do menos significativo para o mais significativo), mostrando transportes:
- b0:
(transport 0) - b1:
(transport 0) - b2:
(transport 0) - b3:
(transport 1) - b4:
(transport 0) - b5:
(transport 1) - b6:
(transport 1) - b7:
(transport 1, que é um carry-out)
O resultado de 8 bits (ignorando o carry-out final em complemento de dois) é
Passo 6
Interpretar o resultado em decimal e verificar:
- Em binário com 8 bits
é um número positivo (bit de sinal ). Converto para decimal somando potências de :
- Verificação direta em decimal:
. Confere com o resultado binário obtido.