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.
01101100+10001101

Passo 1

O enunciado pede: calcular a soma dos dois números binários fornecidos. Os dados são:
  • Primeiro operando: 01101100.
  • Segundo operando: 10001101.
    Suponha aritmética inteira em base 2 (sem limite de bits). A resposta deve ser a soma binária desses dois números.

Passo 2

Relembrando a regra básica da adição binária (para cada coluna de bits, da direita para a esquerda):
  • 0+0=0 com carry 0.
  • 0+1=1 com carry 0.
  • 1+0=1 com carry 0.
  • 1+1=0 com carry 1 (porque 1+1=2 em decimal e 2 é 10_2).
    Se houver carry de entrada, soma-se ele também: efetivamente soma-se três valores (\text{carry\_in} + a_i + b_i). O bit resultado é o resto da divisão por 2 e o carry_out é o quociente inteiro pela divisão por 2.

Passo 3

Vou alinhar os bits por coluna (da direita para a esquerda). Marcações de índice dos bits (bit 0 é o menos significativo):
  • a = 0\;1\;1\;0\;1\;1\;0\;0 onde o bit 7 é o mais à esquerda e o bit 0 o mais à direita, ou seja a_7=0,\dots,a_0=0.
  • b = 1\;0\;0\;0\;1\;1\;0\;1 com b_7=1,\dots,b_0=1.
    Vou calcular coluna a coluna do bit 0 até o bit 7, anotando carry_in, soma parcial e carry_out.

Passo 4

Coluna bit 0 (menos significativo):
  • a_0=0, b_0=1, carry_in =0.
  • Soma: 0+1+0=1.
  • Resultado do bit 0: 1.
  • carry_out: 0.

Passo 5

Coluna bit 1:
  • a_1=0, b_1=0, carry_in =0 (do passo anterior).
  • Soma: 0+0+0=0.
  • Resultado do bit 1: 0.
  • carry_out: 0.

Passo 6

Coluna bit 2:
  • a_2=1, b_2=1, carry_in =0.
  • Soma: 1+1+0=2.
  • Em binário 2 = 10_2: resultado do bit 2 é 0 e carry_out é 1.

Passo 7

Coluna bit 3:
  • a_3=1, b_3=0, carry_in =1 (do passo anterior).
  • Soma: 1+0+1=2.
  • Resultado do bit 3: 0.
  • carry_out: 1.

Passo 8

Coluna bit 4:
  • a_4=0, b_4=0, carry_in =1.
  • Soma: 0+0+1=1.
  • Resultado do bit 4: 1.
  • carry_out: 0.

Passo 9

Coluna bit 5:
  • a_5=1, b_5=1, carry_in =0.
  • Soma: 1+1+0=2.
  • Resultado do bit 5: 0.
  • carry_out: 1.

Passo 10

Coluna bit 6:
  • a_6=1, b_6=0, carry_in =1.
  • Soma: 1+0+1=2.
  • Resultado do bit 6: 0.
  • carry_out: 1.

Passo 11

Coluna bit 7 (mais significativo):
  • a_7=0, b_7=1, carry_in =1.
  • Soma: 0+1+1=2.
  • Resultado do bit 7: 0.
  • carry_out: 1.

Passo 12

Como temos carry_out =1 após o bit mais significativo, este se torna um novo bit à esquerda (não há limite de bits). Logo o bit de ordem superior (bit 8) será 1.
Agora recolhendo todos os bits do mais significativo (bit 8) até o menos (bit 0):
  • bit 8: 1
  • bit 7: 0
  • bit 6: 0
  • bit 5: 0
  • bit 4: 1
  • bit 3: 0
  • bit 2: 0
  • bit 1: 0
  • bit 0: 1
Portanto o resultado binário é 100011001.

Passo 13

Vou conferir por conversão decimal rápida para ter certeza:
  • 01101100_2 = 0\cdot2^7+1\cdot2^6+1\cdot2^5+0\cdot2^4+1\cdot2^3+1\cdot2^2+0\cdot2^1+0\cdot2^0 = 108.
  • 10001101_2 = 1\cdot2^7+0\cdot2^6+0\cdot2^5+0\cdot2^4+1\cdot2^3+1\cdot2^2+0\cdot2^1+1\cdot2^0 = 141.
  • Soma decimal: 108+141=249.
    Converter 249 para binário: 249 = 1\cdot2^7 + 1\cdot2^6 + 1\cdot2^5 + 1\cdot2^4 + 1\cdot2^3 + 0\cdot2^2 + 0\cdot2^1 + 1\cdot2^0 = 11111001_2.
Observação: a forma com carry extra que obtivemos antes era 100011001_2. Note que 100011001_2 e 11111001_2 representam o mesmo número se houver diferença de alinhamento; a representação mais compacta sem zeros desnecessários à esquerda é 11111001_2. Confirmando: 11111001_2 tem 8 bits e vale 249, que é a soma correta.

Resposta

11111001

Exercícios relacionados