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.
11001100 * 111

Passo 1

O enunciado pede o produto entre os dois números binários 11001100 e 111.
Informações dadas:
  • Multiplicando: 11001100 (número em base 2).
  • Multiplicador: 111 (número em base 2).
    Pedido: calcular o resultado da operação 11001100 \times 111 em 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 2^2=4, etc.
No nosso caso o multiplicador é 111. Lendo do bit menos significativo (direita) para o mais significativo (esquerda), os bits valem 1 (2^0), 1 (2^1) e 1 (2^2). Portanto o produto será a soma de três termos:
  • o multiplicando sem shift (porque há um 1 em 2^0),
  • o multiplicando shifted 1 posição (porque há um 1 em 2^1),
  • o multiplicando shifted 2 posições (porque há um 1 em 2^2).

Passo 3

Escrevendo os três termos (cada shift é um deslocamento à esquerda que acrescenta zeros à direita):
\text{termo}_0 = 11001100
\text{termo}_1 = 11001100\\ \text{shift 1} = 110011000
\text{termo}_2 = 11001100\\ \text{shift 2} = 1100110000
Vou alinhar esses três números para somar (completando à esquerda com zeros para facilitar a soma coluna a coluna):
\begin{array}{r} 00011001100\\\\ 00110011000\\\\ +01100110000\\\ \hline \end{array}

Passo 4

Somando os dois primeiros termos primeiro:
00011001100_{(2)} + 00110011000_{(2)}
Para evitar perder passos, faço também a verificação em decimal rápida (apenas para checar): 11001100_{(2)} = 128+64+8+4 = 204_{(10)}. Então 204 + 408 = 612. Agora a soma binária resulta em
00011001100_{(2)} + 00110011000_{(2)} = 01001100100_{(2)}.
(Confere: 01001100100_{(2)} = 512? Nãoã. Em decimal 01001100100_{(2)} = 612_{(10)}, que bate com a conta decimal.)

Passo 5

Agora somo o resultado com o terceiro termo:
01001100100_{(2)} + 01100110000_{(2)}
Em decimal: 612 + 816 = 1428. Fazendo a soma binária coluna a coluna (com os devidos transportes), obtém-se
01001100100_{(2)} + 01100110000_{(2)} = 10110010100_{(2)}.

Passo 6

Verificação final convertendo para decimal: 11001100_{(2)} = 204_{(10)}, 111_{(2)} = 7_{(10)}. Produto decimal 204 \times 7 = 1428_{(10)}. Converter 1428_{(10)} para binário dá exatamente 10110010100_{(2)}. Portanto a soma binária está correta.

Resposta

10110010100

Exercícios relacionados