(Tocci et al., 2011) Em determinado sistema digital, os números decimais de 000 a 999 são representados em código B C D. Um bit de paridade ímpar foi anexado ao final de cada sequência de bits. Analise cada código a seguir e admita que cada sequência de bits tenha sido transmitida de um local para outro. Algumas das sequências de bits contêm erros. Suponha que não tenham ocorrido mais que dois bits errados para cada sequência. Determine qual(is) contém(êm) um único bit errado e qual(is), definitivamente, contém(êm) dois. (Dica: lembre-se de que se trata de um código BCD.)
(a) 1001010110000
uparrow m s b lsb nearrow nwarrow bit de paridade
(b) 0100011101100
(c) 0111110000011
(d) 1000011000101

Passo 1

O enunciado diz que números decimais de 000 a 999 são codificados em BCD ( 3 dígitos, 4 bits cada) e depois se anexa um bit de paridade ímpar no final, totalizando 13 bits. Cada sequência recebida pode ter até 2 bits errados. Temos quatro sequências e precisamos identificar:
  • Quais têm exatamente 1 bit errado (paridade detecta erro ímpar).
  • Quais, definitivamente, têm 2 bits errados (paridade “correta” mas BCD inválido ou necessidade de 2 flips).

Passo 2

Em BCD cada grupo de 4 bits deve representar um dígito de 0 a 9 (ou seja, de tt0000 até tt1001). O bit de paridade ímpar faz com que a soma de todos os bits ( 12 de dados +1 de paridade) seja um número ímpar.
  • Se a checagem de paridade falha, houve número ímpar de erros ( 1 ou 3), mas como não podem ser 3, é exatamente 1.
  • Se a paridade “casa” (soma é ímpar), só pode haver 0 ou 2 erros. Se também detectarmos BCD inválido, não pode ser 0, logo é 2.

Passo 3

Analisando (a) ,1001,0101,1000;0:
  • Nibbles: ,1001=9, ,0101=5, ,1000=8. Todos válidos em BCD.
  • Paridade: contei 5 uns entre todos os 13 bits, que é ímpar, logo paridade está correta.
    Conclusão: erros em número par ( 0 ou 2); portanto não é 1 bit, mas pode ser 0 ou 2.

Passo 4

Analisando (b) ,0100,0111,0110;0:
  • Nibbles: ,0100=4, ,0111=7, ,0110=6. Todos válidos.
  • Paridade: há 6 uns no total, soma é par, mas o bit de paridade exige ímpar Rightarrow falha de paridade.
    Conclusão: houve número ímpar de erros <=2Rightarrow exatamente 1 bit.

Passo 5

Analisando (c) ,0111,1100,0001;1:
  • Nibbles: ,0111=7 ok; ,1100=12 inválido em BCD; ,0001=1 ok.
  • Paridade: contei 7 uns, soma é ímpar Rightarrow paridade aparentemente correta Rightarrow erros em número par ( 0 ou 2).
    Mas não pode ser 0 (há BCD inválido), logo são 2 bits errados.

Passo 6

Analisando (d) ,1000,0110,0010;1:
  • Nibbles: ,1000=8, ,0110=6, ,0010=2. Todos válidos.
  • Paridade: há 5 uns, soma ímpar Rightarrow paridade correta Rightarrow 0 ou 2 erros. Pode ser código sem erro ou com 2 erros.

Resposta

(b) contém exatamente um bit errado.
(c) contém definitivamente dois bits errados.

Exercícios relacionados