Demonstre utilizando o complemento de 2 e o sinal-módulo, como deve ser realizado as operações aritméticas entre os números binários:
111100_{2}-11101011_{2}
Passo 1
O enunciado pede para efetuar
111100_{2}\;-\;11101011_{2}
usando duas formas de representar sinais em binário: complemento de dois e sinal–módulo. Vamos primeiro entender o valor decimal de cada operando e depois mostrar como alinhar e operar em cada esquema.
Passo 2
Convertemos os binários em decimal para saber o resultado esperado e determinar a largura mínima de bits:
Logo, 60 - 235 = -175. Para representar -175 sem overflow precisamos de pelo menos 9 bits (pois em 8 bits o intervalo de complemento de dois vai de -128 a +127).
Passo 3
Complemento de dois em 9 bits
Ajustamos cada operando para 9 bits, preenchendo com zeros à esquerda:
A = 111100_{2}\;\to\;000\,111100_{2},\quad B = 11101011_{2}\;\to\;011\,101011_{2}.
Para fazer A - B adicionamos o complemento de dois de B:
a) invertemos os bits de B:\overline{011101011_{2}} = 100010100_{2}b) somamos 1 para obter -B:100010100_{2} + 1_{2} = 100010101_{2}.
111100_{2} - 11101011_{2} = 101010001_{2} \quad(\text{o que representa }-175).
Passo 4
Sinal–módulo em 9 bits
Escrevemos cada número com um bit de sinal (0 para positivo, 1 para negativo) seguido da magnitude em 8 bits:
A = +60 = 0\,000111100_{2},\quad B = +235 = 0\,11101011_{2}.
Para A - B interpretamos como A + (-B). Como A e -B têm sinais opostos, subtraímos as magnitudes (maior menos menor) e damos o sinal do maior módulo:
módulo de B (235) é maior que módulo de A (60), logo