Resolva as operações abaixo no sistema que se pede (MOSTRE TODOS OS CÁLCULOS):
Realize em binário e complemento de 2 as operações abaixo (LEMBRE-SE DE INDICAR O BIT DE SINAL).
???
Realize em binário e complemento de 2 as operações abaixo (LEMBRE-SE DE INDICAR O BIT DE SINAL).
Passo 1
O que o enunciado pede e quais dados ele dá.
- Enunciado:
- Dados que eu peguei do enunciado:
- Dividendo (com bit de sinal na frente):
. - Divisor (com bit de sinal na frente):
.
- Dividendo (com bit de sinal na frente):
- O enunciado exige que eu realize a operação em binário e também indique o complemento de 2 (ou seja, indicar o bit de sinal e a representação em complemento de 2).
- Observação importante que vou manter durante a resolução: quando um número tem bit de sinal igual a
ele é positivo; quando é o número seria negativo e, para obter o valor negativo em complemento de 2, faz-se o método “inverter bits + 1”. Aqui ambos têm bit de sinal , logo são números positivos.
Passo 2
Converter as palavras binárias para valores decimais para saber o resultado esperado (verificação rápida).
- Peguei da string do dividendo
. Convertendo para decimal: - Peguei da string do divisor
. Convertendo para decimal: - Divisão em decimal para conferir:
com resto , pois e . - Expectativa: quociente
e resto . Em binário: e . Vou agora fazer a divisão passo a passo em binário para mostrar o procedimento e confirmar isso.
Passo 3
Breve explicação do método de divisão binária que vou usar (para a prova).
- Estratégia (muito usada em prova): alinhar o divisor multiplicando-o por potências de dois (shifts à esquerda) até ficar o maior múltiplo que ainda seja ≤ dividendo; subtrair; repetir com o restante até alcançar resto menor que o divisor.
- Em termos práticos: encontrar o maior
tal que . Colocar no bit do quociente, subtrair e repetir para . - Observação: multiplicar por
em binário equivale a deslocar o padrão de bits do divisor posições à esquerda (acrescentar zeros à direita).
Passo 4
Encontrar o maior shift
e começar a divisão por subtrações (com explicações).
- Divisor decimal
. Testo potências de dois: Logo o maior shift é . - Isso indica que o quociente terá um bit
em (isto é, o bit correspondente a ) se subtrairmos esse múltiplo. - Vou fazer as subtrações em binário alinhando os bits (mostrando também o valor decimal para conferência).
Passo 5
Primeira subtração: subtrair
do dividendo.
- Dividendo (11 bits):
(peguei do enunciado), que é . - Divisor original (7 bits):
(peguei do enunciado) = . - Divisor deslocado
posições à esquerda (padronizando para 11 bits): . (Expliquei: acrescentei zeros à direita e preenchi à esquerda com zeros para ficar com 11 bits.) - Escrevendo a subtração (binário e decimal):
Em decimal: . - Conclusão desta etapa: coloquei
no bit de do quociente.
Passo 6
Segunda subtração: subtrair
do restante.
- Resto atual (11 bits):
(peguei do cálculo anterior) = . - Divisor deslocado
posições: (11 bits) = . - Subtração:
Em decimal: . - Conclusão: coloquei
no bit de do quociente.
Passo 7
Terceira subtração: subtrair
.
- Resto atual:
. - Divisor deslocado
posição: . - Subtração:
Em decimal: . - Conclusão: coloquei
no bit de do quociente.
Passo 8
Quarta subtração: subtrair
.
- Resto atual:
. - Divisor sem deslocamento (padronizado 11 bits):
. - Subtração:
Em decimal: . - Conclusão: coloquei
no bit de do quociente.
Passo 9
Montagem do quociente e resto finais e verificação.
- Colocando os bits que marcamos nos deslocamentos
(todos deram ), o quociente em binário é: Em decimal: , que bate com a verificação decimal. - O resto final em binário (11 bits que sobrou) é:
Confere com a verificação decimal .
Passo 10
Representação em complemento de 2 e indicação do bit de sinal (explicação didática curta).
- Relembrando: em complemento de 2, o bit mais à esquerda é o bit de sinal:
= positivo, = negativo. Para números positivos a representação em complemento de 2 é igual à sua representação binária com zeros à esquerda para completar o tamanho de palavra desejado. - Aqui dividend e divisor tinham bit de sinal
, ou seja, são positivos. O quociente e o resto também são positivos, então suas representações em complemento de 2 (numa mesma largura de palavra que usei para o dividendo, 11 bits) são iguais às suas representações binárias com zeros à esquerda. - Exemplo didático (se precisasse representar um número negativo): para obter
em complemento de 2 com largura : escrever em bits, inverter todos os bits e somar . (Não necessário aqui porque não há números negativos no problema.) - Portanto, usando 11 bits (mesma largura do dividendo) para uniformizar:
- Quociente
em 11 bits: . Bit de sinal = . - Resto
em 11 bits: . Bit de sinal = .
- Quociente
Resposta
Quociente (binário, com bit de sinal):
= complemento de 2 (11 bits):
Resto (binário, com bit de sinal): = complemento de 2 (11 bits):
Resto (binário, com bit de sinal):