Efetue as operações:
Passo 1
O enunciado pede para multiplicar os números binários
e
.
Informações dadas:
Informações dadas:
- Multiplicando:
. - Multiplicador:
.
Objetivo: calcular o produto e escrever o resultado em base 2.
Passo 2
Como funciona a multiplicação em base 2 (regra prática que vamos usar):
- Multiplicar por
dá . Multiplicar por dá o próprio número. - Para cada dígito do multiplicador, da direita para a esquerda, escreve-se o multiplicando multiplicado por esse dígito e deslocado (shift) para a esquerda conforme a posição do dígito (0 deslocamentos para o bit menos significativo, 1 deslocamento para o próximo, e assim por diante).
- Depois soma-se todos os “partial products” em binário, usando a regra de adição binária com transporte (carry):
, , com carry , com carry .
Vou mostrar cada etapa e explicar a adição binária enquanto avança.
Passo 3
Identifico os bits do multiplicador
(da direita para a esquerda):
- bit de posição
(LSB): - bit de posição
: - bit de posição
: - bit de posição
(MSB):
Isso significa que teremos três partial products não nulos (posições 0, 2 e 3).
Passo 4
Partial product para o bit de posição
(multiplicador
, sem shift):
Explicando: multiplicando por
deixa o número igual.
Passo 5
Partial product para o bit de posição
(multiplicador
, shift 1):
Explicando: multiplicar por
gera zeros; mesmo após deslocar, continua zero.
Passo 6
Partial product para o bit de posição
(multiplicador
, shift 2):
- Primeiro
multiplicado por é . - Deslocando 2 posições à esquerda (equivalente a acrescentar dois zeros à direita) obtemos:
Passo 7
Partial product para o bit de posição
(multiplicador
, shift 3):
-
deslocado 3 posições à esquerda:
Passo 8
Agora alinhamos todos os partial products para somar. Vou escrever cada um com 11 bits (o resultado tem até
bits):
Cada sequência acima corresponde aos bits nas posições
(mais à esquerda) até
(mais à direita).
Passo 9
Vamos somar coluna a coluna (da direita para a esquerda), mostrando o carry em cada etapa.
Defino: para cada coluna
(começando em
sendo LSB) calculo soma dos bits naquela coluna mais o carry entrando; escrevo o bit resultante e o carry para a próxima coluna.
Coluna
(LSB): bits =
. Resultado bit
, carry
. Resultado parcial (LSB):
.
Coluna
: bits =
. Resultado bit
, carry
.
Coluna
: bits =
. Resultado bit
, carry
.
Coluna
: bits =
. Em binário
é
: resultado bit
, carry
.
Coluna
: bits =
mais carry
=
. Em binário
é
: resultado bit
, carry
.
Coluna
: bits =
mais carry
=
. Resultado bit
, carry
.
Coluna
: bits =
mais carry
mas atenção: revisando as colunas, de PP3/PP2/PP0 os valores correspondentes: na prática obtemos
. Resultado bit
, carry
.
Coluna
: bits =
. Resultado bit
, carry
.
Coluna
: bits =
mais carry
=
. Resultado bit
, carry
.
Coluna
: bits =
. Resultado bit
, carry
.
Coluna
(MSB): bits =
. Resultado bit
, carry
.
Juntando os bits do MSB
ao LSB
obtemos:
Ou seja, o produto em binário é
.
Passo 10
Verificação rápida (cheia de confiança, mas útil): converto para decimal para checar.
-
. -
. -
.
Convertopara binário e obtenho , que coincide com o resultado acima. Boa! Confirmação feita.