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 pede para calcular
usando representação de números sinalizados com largura de 8 bits. Informações relevantes:
- Os operandos são
e . - A largura é de 8 bits e a representação usada para números negativos é a representação em complemento de dois (dois’s complement).
A tarefa: converter os valores para binário em 8 bits, efetuar a operação (fazendo a subtração usando complemento de dois) e verificar o resultado na base decimal.
Passo 2
Converter
para binário em 8 bits. Método: escrever
como soma de potências de dois.
As potências relevantes são ,
,
. Soma:
.
Portanto os bits correspondentes a são 1, os demais 0. Em 8 bits:
As potências relevantes são
Portanto os bits correspondentes a
Passo 3
Converter
para binário em 8 bits. Decomposição:
, ou seja
são 1.
Em 8 bits:
Em 8 bits:
Passo 4
Transformar a subtração em soma usando complemento de dois:
Para obter
em complemento de dois:
- inverter os bits de
(representação de ):
- somar
:
Logo
Passo 5
Somar os binários de
e de
:
Fazendo a adição bit a bit (mostrado resumidamente acima) obtém-se o resultado de 8 bits
. O carry externo (nono bit) aparece, mas em complemento de dois com largura fixa de 8 bits esse carry é desprezado. Assim o resultado válido em 8 bits é:
Passo 6
Interpretar o resultado em decimal:
é o inteiro
em complemento de dois (mesmo para sinalizado, bit de sinal é 0).
Verificação direta em decimal:
Verificação direta em decimal:
Como o resultado
está dentro do intervalo representável
não houve overflow.
Passo 7
Resumo didático rápido (como lembrar na prova):
- Para subtração em complemento de dois: converta o subtraendo para seu negativo invertendo os bits e somando
; some ao minuendo; ignore qualquer carry que saia do oitavo bit. - Verifique overflow: se o resultado exceder
ou se o carry interno indicar inconsistência entre carry-into-MSB e carry-out, há overflow. Aqui não ocorreu.