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). 01010111100 \div 010100= ???
Passo 1
O que o enunciado dá e o que pede:\n
Dividendo (em binário): 01010111100 (11 bits).
Divisor (em binário): 010100 (6 bits).
Pedido: efetuar a divisão em binário e também apresentar em complemento de 2, indicando o bit de sinal. Mostrar todos os cálculos passo a passo.\n
Observações iniciais que vamos usar (sem resolver ainda): \n
Ao indicar o bit de sinal, o primeiro bit (mais à esquerda) é o bit de sinal: 0 significa número positivo.
Para o complemento de 2, a representação depende do número de bits escolhidos; para números positivos a representação em complemento de 2 coincide com a escrita binária com bit de sinal 0.
Vou fazer a divisão por algoritmo de divisão binária (divisão longa em binário), mostrando subtrações e os bits do quociente, e depois apresentar as representações em complemento de 2 (com bit de sinal).
Passo 2
Converter os números para decimal (verificação rápida e para entender o resultado esperado).\n
Dividendo 01010111100 (bits das posições 10 a 0):
Divisão em decimal para checar o quociente e resto:
700 \div 20 = 35 \quad\text{com resto}\quad 0,
pois 20\cdot35 = 700. Portanto o quociente decimal esperado é 35 e o resto é 0. Agora vamos obter exatamente esses valores por divisão longa em binário (passo a passo).
Passo 4
Preparação para a divisão binária longa:\n
O divisor tem 6 bits, logo na divisão longa consideramos janelas de 6 bits do dividendo (começando pelos 6 bits mais à esquerda).
O número de bits do quociente será 11-6+1 = 6 bits (do bit mais significativo do quociente q_5 ao menos significativo q_0).
Notação: cada passo mostro o fragmento atual (remainder window) em 6 bits, comparo com o divisor 010100, decido q_i\in\{0,1\}, e se for 1 subtraio.
O divisor em binário (para subtrações) é
\text{Divisor} = 010100 \quad(\text{que é }20).
Passo 5
Divisão longa binária passo a passo.\n
Começamos com os 6 bits mais à esquerda do dividendo: bits 10 a 5 que são 010101.\n
Janela inicial: 010101 (isto é 21). Como 21 \ge 20, temos q_5 = 1. Subtração:
010101 - 010100 = 000001.
Resto atual: 000001 (decimal 1).
Trazer o próximo bit (bit 4 do dividendo, que é 1). Faz-se shift left do resto e acrescenta o bit trazido: novo fragmento
Juntando os bits do quociente q_5q_4q_3q_2q_1q_0 obtemos
q = 1\;0\;0\;0\;1\;1 = 100011.
Em decimal 100011_2 = 32 + 2 + 1 = 35. Resto 000000_2 = 0. Isso confirma o resultado decimal da verificação.
Passo 6
Conversões finais e observações sobre bits de sinal e complemento de 2:\n
Resultado (binário puro, sem considerar complemento de 2): quociente 100011 (6 bits), resto 000000 (6 bits). Ambos positivos.
Bit de sinal dos operandos originais (já presentes nas palavras dadas): \text{dividendo }01010111100 tem bit de sinal igual a 0 (número positivo). \text{divisor }010100 tem bit de sinal igual a 0 (positivo).
Agora o complemento de 2 (explicação e aplicação):\n
Regra do complemento de 2 (lembrando): para representar um número inteiro em complemento de 2 com N bits, o bit mais à esquerda é o bit de sinal; para um número positivo a representação é simplesmente o binário com zeros à esquerda até completar N bits; para um número negativo inverte-se todos os bits do módulo e soma-se 1.
Aqui ambos os números dados são positivos (bit de sinal 0), então a representação em complemento de 2 com um número de bits suficiente coincide com a escrita binária com bit de sinal 0.
Atenção importante: o quociente decimal 35 exige pelo menos 6 bits para a magnitude (pois 35_{10}=100011_2), mas em representação em complemento de 2 se usarmos apenas 6 bits totais o intervalo representável é -32 a +31. Assim, 100011 como cadeia de 6 bits em complemento de 2 seria interpretado como negativo. Por isso, ao escrever o quociente em complemento de 2 devemos reservar um bit de sinal adicional (usar 7 bits) para poder representar +35.\n
Representações em complemento de 2 com bit de sinal explicitado:\n
Dividendo (já 11 bits, bit de sinal 0): \underbrace{0}_{\text{bit de sinal}}\;1010111100 (igual à entrada). Em complemento de 2 com 11 bits é o mesmo: 01010111100.
Divisor (6 bits, bit de sinal 0): \underbrace{0}_{\text{bit de sinal}}\;10100 (ou simplesmente 010100 como dado). Em complemento de 2 com 6 bits é 010100.
Quociente: magnitude 100011. Para ter bit de sinal 0 e não ser interpretado como negativo, representamos em 7 bits: \underbrace{0}_{\text{bit de sinal}}\;100011, isto é 0100011 (7 bits no total). Em complemento de 2 com 7 bits isso corresponde a +35.
Resto: 000000. Em complemento de 2 com 6 ou 7 bits é 000000 (ou com bit de sinal: 0\,000000).
Resposta
Binário: quociente 100011, resto 000000. Bit de sinal: dividendo 0, divisor 0, quociente 0.\n
Complemento de 2 (com bit de sinal explicitado e largura suficiente): quociente 0\,100011 (7 bits), resto 0\,000000.