Executa as seguintes operações: (Valor 07 pontos)
Some os números 0101 e 1001 em BCD (Binary Coded Decimal), resultado em BCD

Passo 1

O enunciado pede somar dois números em BCD e dar o resultado também em BCD. Informações fornecidas:
  • Primeiro operando (em BCD de 4 bits): \,0101.
  • Segundo operando (em BCD de 4 bits): \,1001.
  • Objetivo: calcular a soma \,0101 + 1001 e apresentar o resultado em BCD.

Passo 2

O que é BCD (rápido e na prática): cada grupo de 4 bits (um nibble) codifica um dígito decimal 0 a 9. Assim:
  • \,0101 representa o dígito decimal 5.
  • \,1001 representa o dígito decimal 9.
Regra importante para somar nibbles em BCD:
  • Some os nibbles em binário normalmente.
  • Se o resultado do nibble for maior que \,1001 (ou seja, maior que 9 decimal) ou se houver um carry out do nibble, deve-se adicionar \,0110 (que é o decimal 6) ao resultado do nibble para corrigir para BCD. Isso gera um carry para o nibble seguinte quando necessário.
Explicando por que se adiciona \,0110: os códigos BCD válidos vão de \,0000 até \,1001. Se a soma binária ultrapassa \,1001, o valor binário não corresponde a um dígito decimal válido; somando \,0110 ajusta o resultado para o próximo dígito decimal correto e produz o carry apropriado.

Passo 3

Somando os dois nibbles em binário normalmente:
\begin{array}{r} \;0101\\\\ +\;1001\\hline \;1110 \end{array}
Portanto o resultado binário bruto do nibble é \,1110.

Passo 4

Verificação da condição de correção BCD:
  • \,1110 é maior que \,1001 (já que \,1110_2 = 14_{10} e \,1001_2 = 9_{10}). Logo, devemos aplicar a correção adicionando \,0110.
Aplicando a correção:
\begin{array}{r} \;1110\\\\ +\;0110\\hline 1\;0100 \end{array}
O resultado é \,1\;0100: um carry (1) para o nibble superior e o nibble inferior fica \,0100.

Passo 5

Interpretando o resultado em BCD por dígitos:
  • O carry para o nibble superior representa o dígito dezena \,0001.
  • O nibble inferior corrigido é \,0100, que representa o dígito unidade 4.
Portanto o resultado decimal é 14 (cheque rápido: 5+9=14) e em BCD fica dois nibbles: \,0001 (dezena) seguido de \,0100 (unidade).

Resposta

\,0001\;0100

Exercícios relacionados