Codigos Bin Rios
Códigos BCD
Dígito
decimal
Cód.
NBCD
(8421)
Cód.Aiken
(2421)
Cód.Stibitz
(8421 – 3)
Cód.7421
(7421)
Cód. 642-1
(642-1)
0
0000
1
0001
0000
0011
0000
0000
0001
0100
0001
0011
2
3
0010
0010
0101
0010
0010
0011
0011
0110
0011
0101
4
0100
0100
0111
0100
0100
5
0101
1011
1000
0101
0111
6
0110
1100
1001
0110
1000
7
0111
1101
1010
0111
1011
8
1000
1110
1011
1001
1010
9
1001
1111
1100
1010
1101
Soma em BCD
Na soma de dois dígitos BCD (entre 0 e 9) em binário, o dígito resultante pode estar em um de três casos:
1. Dígito legal (entre 0 e 9), sem “vai-um”. Resultado está correto e não existe “vai-um” para o dígito seguinte
2. Dígito ilegal sem “vai-um”. Resultado está entre 10 e 15
(em binário); para obter o dígito correto, subtrair 10 do dígito (ou somar seis, o que é equivalente), e gerar um
“vai-um” para o dígito decimal seguinte
3. Dígito legal com “vai-um”. Quando o resultado cai entre 16 e 19; para obter o dígito correto subtrair 10 do dígito (ou somar seis). O “vai-um” gerado está correto
1
30/01/2013
Soma em BCD
Sejam A = 0832 e B = 0983
A=
1
0000
1000
0011
B=
0000
1001
1000
0011
0001
0001
1011
0101
caso
1
caso
3
caso
2
caso
1
0010
Tratando-se cada caso, tem-se:
1
0001
0001
0001
1011
0110
0110
1000
0001
0101
0101
Soma em BCD
A=0372 e B=0633
A = 0000 0011
0111
0010
B = 0000 0110
0011
0011
0000 1001 1010 0101 caso 2
Com a correção do caso 2 tem-se:
1
0000 1001 1010
0101
0110
0000 1010 0000 caso 2
0101
E a correção deste caso fornece o resultado final (1005)
2
30/01/2013
Algoritmo de Hellerman
- soma 6 em todos os dígitos de um dos operandos antes da soma das duas parcelas
- só existem dois casos a serem tratados, distinguidos pelo “vai-um”:
1. O resultado não deu “vai-um” e então caiu entre 6 e 15. Deve-se subtrair 6 para obter o dígito correto.
2. O resultado produziu um “vai-um”. Então este “vai-um” já foi propagado e o dígito está correto entre 0