Forneça o resultado das operações. Nesse caso suponha que não há o limite de número de bits, são apenas as operações matemáticas.
Passo 1
O enunciado pede o produto entre os dois números binários
e
.
Informações dadas:
Informações dadas:
- Multiplicando:
(número em base 2). - Multiplicador:
(número em base 2).
Pedido: calcular o resultado da operaçãoem binário (assume-se aritmética normal sem limite de bits).
Passo 2
Estratégia e ideia chave (sem jargões): multiplicar em binário é igual a multiplicar em base 10, só que os “digitos” são 0 ou 1. Cada vez que o multiplicador tem um 1 numa posição, soma-se o multiplicando deslocado (shift) para a esquerda tantas posições quanto o índice desse bit. Deslocar à esquerda 1 posição equivale a multiplicar por 2, deslocar 2 posições equivale a multiplicar por
, etc.
No nosso caso o multiplicador é
. Lendo do bit menos significativo (direita) para o mais significativo (esquerda), os bits valem
(2^0),
(2^1) e
(2^2). Portanto o produto será a soma de três termos:
- o multiplicando sem shift (porque há um
em ), - o multiplicando shifted 1 posição (porque há um
em ), - o multiplicando shifted 2 posições (porque há um
em ).
Passo 3
Escrevendo os três termos (cada shift é um deslocamento à esquerda que acrescenta zeros à direita):
Vou alinhar esses três números para somar (completando à esquerda com zeros para facilitar a soma coluna a coluna):
Passo 4
Somando os dois primeiros termos primeiro:
Para evitar perder passos, faço também a verificação em decimal rápida (apenas para checar):
. Então
. Agora a soma binária resulta em
(Confere:
. Em decimal
, que bate com a conta decimal.)
Passo 5
Agora somo o resultado com o terceiro termo:
Em decimal:
. Fazendo a soma binária coluna a coluna (com os devidos transportes), obtém-se
Passo 6
Verificação final convertendo para decimal:
,
. Produto decimal
. Converter
para binário dá exatamente
. Portanto a soma binária está correta.