Codes binaires

Conception logique numérique

Voir aussi     Le code Binaire     Le code Binaire Suite...

Télécharger le logiciel BCDConv

Les codes binaires représentent des données, telles que des alphabets, des chiffres (0-9) et d'autres symboles dans un code standard appelé code binaire.

Codes numériques

Les différents types de codes numériques sont :

Code BCD/8421 et arithmétique BCD

Code excédent-3 (type de code BCD)

Codes alphanumériques

Les différents types de codes alphanumériques sont :

ASCII (Code standard américain pour l'échange d'informations)

EBCDIC (échange décimal codé binaire étendu)

Unicode

 Hollerith

Code cyclique

Code gris

Codes de détection d'erreur

Code de parité

Parité de bloc

 Somme de contrôle et CRC (contrôle de redondance cyclique)

Codes de correction d'erreur

Codes de Hamming

Discutons de chacun d’eux un par un.

Codes numériques

Les codes numériques représentent les informations à l'aide des chiffres 0 et 1. Le premier code numérique est le code BCD ou 8421.

BCD ou 8-4-2-1

BCD ou 8421 est l'un des codes numériques les plus utilisés.

En BCD, chaque chiffre décimal (0-9) est représenté par un nombre fixe de bits (généralement 4 ou 8 bits).

Le BCD est un code pondéré, ce qui signifie que chaque position représente un poids spécifique pour cette position de bit.

BCD attribue les poids 8,4,2 et 1 aux bits en fonction de leur position.

8-4-2-1 signifie 23-22-21-20.

Supposons que nous ayons le nombre décimal 193.

Le BCD de 193 est :

1 9 3
0001 1001 0011

 

 

 

Le code BCD le plus couramment utilisé est le code 8-4-2-1. 8, 4, 2 et 1 sont les poids des 4 bits du code BCD.

Le poids du LSB est 20= 1,

le bit suivant d'ordre supérieur a un poids de 21=2,

le bit d'ordre supérieur suivant a un poids de 22=4

et MSB a un poids de 23= 8.

Puisque dans les systèmes de nombres décimaux, nous avons des chiffres de 0 à 9, donc binaire les codes 1010, 1011, 1100, 1101, 1110 et 1111 ne sont pas utilisés.

Les nombres décimaux supérieurs à 9 (10, 11, 12, etc.) sont représentés dans un groupe de 4 bits, comme indiqué dans l'exemple ci-dessus.

Le tableau du code BCD 8421 pour les chiffres décimaux 0 à 9 est présenté dans le tableau ci-dessous.

 Tableau des codes BCD (8421) pour les chiffres décimaux 0 à 9

Chiffres décimaux Code BCD (8421)
  23222120
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

Conversion du nombre décimal en code BCD (8-4-2-1) :

Exemple: étant donné le nombre décimal 546. Trouvez son code BCD (8-4-2-1).

Solution:

Le BCD de 546 est :

5 4 6
0101 0100 0110

Conversion du code BCD (8-4-2-1) en nombre décimal :

Exemple: étant donné le code BCD (8-4-2-1) 010101111001.

Trouvez son équivalent décimal.

Solution:

0101 0111 1001
5 7 9

Ainsi, l'équivalent décimal du code BCD (8-4-2-1) 010101111001 est 579.

Les autres types de codes BCD sont : 2421 et 5211.

Le tableau pour 2421 et 5211 pour les nombres décimaux 0 à 9 est présenté dans le tableau ci-dessous.

Tableau BCD pour 2421 et 5211 pour les chiffres décimaux 0 à 9

Chiffres décimaux Code BCD (2421) Code BCD (5211)
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0101
4 0100 0111
5 1011 1000
6 1100 1010
7 1101 1100
8 1110 1110
9 1111 1111

 

Code BCD (2421)

Le code Aiken (également connu sous le nom de code 2421) est un code décimal codé binaire (BCD) complémentaire. Un groupe de quatre bits est affecté aux chiffres décimaux de 0 à 9.

Code BCD (5211)

Ce code est un code d'application de 4 bits où les poids binaires portent 5, 2, 1, 1 de gauche à droite. Le code 5211 représente donc les nombres décimaux de 0 à 9.

Addition et soustraction BCD

Ajout de BCD : Les règles d'ajout de BCD sont les suivantes :

i. Convertissez le nombre décimal donné en code BCD 4 bits. Ajoutez maintenant les chiffres correspondants dans un groupe de 4 bits (groupe BCD), en commençant par LSB.

ii. Si la somme de chaque groupe de 4 bits est inférieure ou égale à 9, la somme est correcte et est sous forme BCD.

iii. Si une somme de groupe de 4 bits est supérieure à 9, ou si elle génère un report à partir d'une somme de 4 bits, alors la somme n'est pas valide. Ajoutez 6 (0110) à ce groupe invalide.

6 est ajouté pour sauter 6 numéros illégaux 1010 à 1111.

Si, après l'ajout de 0110, un report est généré, ce report est ajouté au groupe BCD d'ordre supérieur suivant, mais le report du MSB est considéré comme faisant partie de la somme finale.

Exemple: Convertissez les nombres décimaux 21 et 33 en BCD, puis effectuez une addition BCD.

Solution:

  Code BCD
(21)10 0010 0001
+ + +
(33)10 0101 0101
= = =
(54)10 0101 0100
  (5)10 (4)10

Selon les règles d'addition BCD, la somme résultante est valide et correcte.

Exemple: Convertissez les nombres décimaux 79 et 18 en BCD, puis effectuez une addition BCD.

Solution:

  Code BCD
(79)10            1<-
0111
<- Report
1001
+ +   +
(18)10 0001   1000
= = <- Report =
(97)10 1001 <-1 0001

Toutes les sommes de 4 bits sont inférieures à 9, mais la retenue est générée à partir d'un groupe de 4 bits et transmise au groupe suivant, la somme n'est donc pas valide.

Ajoutez 0110 au groupe de 4 bits qui a généré le report comme indiqué ci-dessous.

1001 0001
+ +
0000 0110
= =
1001 0111
(9)10 (7)10

Exemple: convertissez les nombres décimaux 479,5 et 736,7 en BCD, puis effectuez une addition en BCD.

Solution:

  Code BCD  
(479.5)10 0100 0111 1001 0101
+ + + + +
(736.7)10 0111 0011 0110 0111
= = = = =
(1216.2)10 1011 1010 1111 1100

Puisque la somme individuelle résultante de chaque groupe de 4 bits est >9 (1001), ajoutez donc 6 (0110) à chaque groupe.

Ceci est illustré ci-dessous.

Code BCD  
           1<-
1011
            1<-
1010
          1<-
1111
1100
+   + +
0110 0110 0110 0110
=   = =
1  0010 <-1  0001 <-1  0110 <-1  0010
On ajoute 000 à 1      
0001 0010      

Résultat = 0001001000010110.0010

Soustraction BCD :

Soustraction BCD : La soustraction BCD peut être effectuée des manières suivantes :

1. Soustraction BCD sans utiliser la méthode du complément.

2. Soustraction BCD en utilisant la méthode du complément à 9.

3. Soustraction BCD en utilisant la méthode du complément à 10.

1. Soustraction BCD sans utiliser le complément

Les étapes pour effectuer une soustraction BCD sans utiliser la méthode du complément sont les suivantes :

Étape 1 : Convertissez le nombre décimal donné en code BCD 4 bits. Soustrayez maintenant les chiffres correspondants dans un groupe de 4 bits, en commençant par LSB.

Étape 2 : Si l'emprunt est effectué auprès du groupe immédiatement supérieur, soustrayez 0110 du groupe qui a emprunté (0110 est soustrait pour ignorer 6 états illégaux).

Étape 3 : Le résultat final est la bonne réponse.

Exemple: Convertissez les nombres décimaux 83 et 10 en BCD, puis effectuez une soustraction BCD.

Solution:

  Code BCD
(83)10 1000 0011
- - -
(10)10 0001 0000
= = =
(73)10 0111 0011
  (7)10 (3)10

Puisqu'aucun emprunt n'est effectué auprès du groupe immédiatement supérieur, il n'est donc pas nécessaire de soustraire 0110. Le résultat final est 01110011.

Exemple: convertissez les nombres décimaux 405.2 et 316.3 en BCD, puis effectuez une soustraction BCD.

Solution:

  Code BCD
(405.2)10 0100 0000 0101 0010
- - - - -
(316.3)10 0011 0001 0110 0011
= = = = =
(088.9)10 0000 1110 1110 1111

Puisque le groupe 1 a emprunté au groupe 2, soustrayez 0110 du groupe 1.

Le groupe 2 a emprunté au groupe 3, soustrayez donc 0110 du groupe 2

et le groupe 3 a emprunté au groupe 4, soustrayez donc 0110 du groupe 3.

Ceci est indiqué ci-dessous:

0000 1110 1110 1111
- - - -
  0110 0110 0110
0000 1000 1000 1001

Le résultat final est 000010001000.1001

2. Soustraction BCD en utilisant la méthode du complément à 9.

Les étapes pour effectuer une soustraction BCD avec la méthode du complément à 9 sont :

Étape 1 : Trouvez le complément à 9 de la soustraction

Le complément à 9 signifie soustraire chaque chiffre du nombre décimal de 9.

Ex.

le complément à 9 de 4 = 9 - 4 = 5

le complément à 9 de 55 = 99 - 55 = 44

le complément à 9 de 145 = 999 - 145 = 854

le complément à 9 de 145.5 = 999.9 - 145.5 = 854.4

Étape 2 : Convertissez les deux nombres (subtrahend et minuend) en BCD.

Étape 3 : Additionnez les deux nombres en utilisant l’addition BCD.

Étape 4 :

Si après l'ajout de BCD, un report est généré à partir de MSB, ajoutez un report au résultat.

Si le report n'est pas généré à partir de MSB, convertissez le résultat en décimal et prenez le complément à 9 du résultat.

Convertissez ensuite le complément à 9 du résultat en BCD pour obtenir la réponse finale.

Exemple: Effectuez (316.4)10 - (128.3)10 par soustraction BCD en utilisant la méthode du complément à 9.

Solution:

  Code BCD
(316.4)10 316.4
- +
Com. à 9 de 128.3
999.9 - 128.3 =
(128.3)10 871.6
= =
  <-1  188.0
(188.1)10 188.1<-

Soustraction BCD en utilisant le complément à 9

  Code BCD
(316.4)10 0011 0001 0110 0100
- + + + +
(871.6)10 1000 0111 0001 0110
= = = = =
  1011 1000 1000 0000
  +     +
  0110     0110
  = = = =
(188.1)10 0001 1000 1000 0001

Puisque le groupe 1 a généré le code BCD illégal 1010, 0110 y est ajouté.

Le groupe 4 a également généré le code illégal 1011, donc 0110 y est ajouté.

Le report final du groupe 4 est ajouté au résultat.

Résultat correct : 000110001000.0001

Exemple: Effectuez (75.3)10 - (82.7)10 par soustraction BCD en utilisant la méthode du complément à 9.

Solution:

  Code BCD
(75.3)10 75.3
- +
Com. à 9 de 82.7
99.9 - 82.7 =
(82.7)10 17.2
= =
(-7.4)10 92.5

Puisqu'aucun report n'est généré, le résultat est le complément à 9.

Le résultat est également négatif.

Complément à 9 de 92.5 = 99.9 - 92.5 = 7.4

BCD Soustraction en utilisant le complément à 9

  Code BCD
(75.3)10 0111 0101 0111
+ + + +
(17.2)10 0001 0111 0010
= = = =
Étant donné que le groupe 2 a généré le code BCD illégal 1100, 0110 y est ajouté. 1000 1100 0101
+    
  0110  
= = =
(92.5)10 1001 0010 0101

Après l'ajout de BCD, le report n'est pas généré, alors convertissez le résultat généré en décimal et prenez son complément à 9.

Le résultat généré est 10010010,0101 = (92.5)10

Complément à 9 de 92.5 = 99.9 - 92.5 = 7.4

Convertissez maintenant le complément à 9 du résultat en BCD pour obtenir la réponse finale.

BCD de 7.4 = 0111.0100

Réponse finale = 0111.0100

3. Soustraction BCD à l'aide de la méthode du complément à 10

Les étapes pour effectuer une soustraction BCD à l’aide de la méthode du complément à 10 sont :

Étape 1 : Trouvez le complément à 10 de subtrahend

le complément à 10 signifie d'abord prendre le complément à 9, puis y ajouter 1
(ou selon le ou les décimales 0.1 ou 0.01 ... etc.).

Ex.

le complément à 9 de 145.5 = 999.9 - 145.5 = 854.4

le complément à 10 de 145.5 = 854.4 + 0.1 = 854.5

ou 1000 - 145.5 = 854.5

Étape 2 : Convertissez les deux nombres (subtrahend et minuend) en BCD.

Étape 3 : Additionnez les deux nombres en utilisant l’addition BCD.

Étape 4 : Si après l'ajout du BCD, un report est généré à partir du MSB, ignorez-le.

Si le report n'est pas généré à partir de MSB, convertissez le résultat en décimal et prenez le complément par 10 du résultat.

Convertissez ensuite ce complément de 10 du résultat en BCD pour obtenir la réponse finale.

Exemple: Effectuez (346.8)10 - (115.8)10 par soustraction BCD en utilisant la méthode du complément à 10.

Solution:

Soustraction BCD en utilisant le complément à 10

  Code BCD
(346.8)10 346.8
- +
Com. à 10 de 115.8
1000 - 115.8 =
(115.8)10 884.2
= =
  1  231
On ignore 1
(231)10 231

 

  Code BCD  
(346.8)10 0011 0100 0110 1000
+ + + + +
(884.2)10 1000 1000 0100 0010
= = = = =
  1011 1100 1010 1010
  +      
  0110 0110 0110 0110
  = = =  
  1  0010
On ignore 1
0011 0001 0000
(231)10 0010 0011 0001 0000
  2 3 1 0

Résultat final = 001000110001.0000

       Exemple: Effectuez (26.4)10 - (72.9)10 par soustraction BCD en utilisant la méthode du complément à 10.

Solution:

  Code BCD
(26.4)10 26.4
- +
Com. à 10 de 72.9
100 - 72.9 =
(72.9)10 27.1
= =
  53.5
(-46.5)10 Com. à 10 de 53.5

Puisqu'aucun report n'est généré, le résultat est un complément à 10.

Complément à 10 de 53.5 = 100 - 53.5 = 46.5

Le résultat est également négatif.

Soustraction BCD en utilisant le complément à 10

  Code BCD  
(26.4)10 0010 0110 0100
+ + + +
(27.1)10 0010 0111 0001
= = = =
  0100 1101 0101
    +  
  +  0110  
             1<-
=
=
<-1
=
  0101 0011 0101
(53.5)10 5 3 5

Après l'ajout de BCD, le report n'est pas généré en sortie de MSB, convertissez donc le résultat généré en décimal et prenez son complément par 10.

Le résultat généré est 01010011.0101 = (53.5)10

complément à 10 de 53.5 = 100 - 53.5 = 46.5

Convertissez maintenant ce complément de 10 du résultat en BCD pour obtenir la réponse finale.

BCD de 46.5 = 010001100.101

Réponse finale = 010001100.101

Code Excess-3 (Code BCD)

Le code Excess-3 est également appelé code XS-3.

Il s'agit d'un code BCD non pondéré. Ici, chaque code binaire est généré en utilisant le code 8421 plus 0011 (3), d'où son nom de code Excess-3.

Il s'agit d'un code séquentiel, ce qui signifie que chaque code généré suivant est supérieur d'un bit à son code précédent.

À l'exception du code BCD 8421, tous les autres codes BCD 2421, 5211 et 5421 ne sont pas séquentiels.

Le code XS-3 étant séquentiel, des opérations arithmétiques peuvent y être effectuées. Il comporte également 6 états invalides.

Ce sont : 0000, 0001, 0010, 1101, 1110 et 1111 (car les nombres valides en BCD vont de 0 à 9 uniquement).

La table des codes XS-3 est présentée dans le tableau ci-dessous.

Tableau des codes XS-3

Chiffres décimaux Code BCD Code XS-3
(obtenu en ajoutant 3 au code BCD)
0 0000 0011
1 0001 0100
2 0010 0101
3 0011 0110
4 0100 0111
5 0101 1000
6 0110 1001
7 0111 1010
8 1000 1011
9 1001 1100

Addition et soustraction de code Excess-3

Addition et soustraction de code Excès-3

Ajout d'excès de 3 : les règles pour l'ajout de code d'excès de 3 sont les suivantes :

i. Convertissez le nombre décimal donné ou le nombre binaire donné en code excès-3.

Si le nombre est sous forme décimale, convertissez-le en forme binaire, puis ajoutez 0011 pour le rendre supérieur à 3.

Si le nombre est déjà sous forme binaire, ajoutez 0011 pour en faire un code en excès de 3.

ii. Commencez maintenant à ajouter des bits individuels de deux nombres donnés dans un groupe de 4 bits; à partir de LSB.

iii. Ajoutez (0011)2 au terme de somme de tous les groupes de 4 bits qui génèrent du report, et ajoutez également (0011)2 pour effectuer le report généré à partir de l'addition de bits le plus significatif.

(0011)2 est ajouté pour ignorer six états illégaux.

iv. Soustrayez (0011)2 de la somme des termes de tous les groupes de 4 bits qui ne génèrent aucune retenue.

(0011)2 est soustrait pour faire la somme du code XS-3 car ils étaient devenus du code XS-6.

Exemple: Effectuez (83)10 + (95)10 en utilisant l'addition XS-3.

Solution:

    Code XS-3
(83)10   1011 0110
+   + +
(95)10   1100 1000
=   = =
    1  0111 1110
  1<-    
  0001 0111 1110
  + + +
  0011 0011 1011
  = = =
(178)10 0001 1010 1011
  1 7 8

Soustraction code Excess-3

La soustraction Excès-3 peut être effectuée de l'une des manières suivantes:

1. Soustraction Excès-3 sans utiliser la méthode du complément.

2. Soustraction Excès-3 en utilisant la méthode du complément à 9.

3. Soustraction Excès-3 en utilisant la méthode du complément à 10.

1. Soustraction Excès-3 sans utiliser de complément

Les étapes sont les suivantes :

Étape : Convertissez le nombre binaire/décimal donné en code excès-3.

Étape 2 : Soustrayez la soustraction du menu en commençant par LSB dans un groupe de 4 bits en utilisant des règles de soustraction binaire.

Étape 3 : ajoutez 0011 au terme de différence de tous les groupes de 4 bits qui n'ont pas emprunté au groupe de 4 bits d'ordre supérieur suivant.

En effet, lorsque la soustraction dans le code XS-3 est effectuée et qu'aucun emprunt n'est effectué, ce groupe de 4 bits passe sous forme binaire. 0011 est ajouté pour recréer ce code XS-3 de groupe de 4 bits.

Étape 4 : Soustrayez 0011 du terme de différence de tous les groupes de 4 bits qui ont emprunté au groupe de 4 bits d'ordre supérieur suivant.

Cela est fait parce que lorsque l'emprunt est effectué, le code passe à XS-6, donc soustraire 0011 en fait du code XS-3.

Exemple: Effectuez (24.9)10 - (16.5)10 en utilisant la soustraction XS-3.

Solution:

    Code XS-3
(24.9)10 0101 0111 1100
- - - -
(16.5)10 0100 1001 1000
= = = =
  0000 1110 0100
+ + +
  0011 0011 0011
  = = =
(08.4)10 0011 1011 0111
  0 8 4

Étant donné que le groupe 1 et le groupe 3 n'ont emprunté aucun emprunt au groupe d'ordre supérieur suivant, 0011 est ajouté à leur terme de différence.

Le groupe 2 a emprunté au groupe d'ordre supérieur suivant 3, donc 0011 est soustrait du terme de différence du groupe 2.

2. Soustraction Excès-3 en utilisant le complément à 9

Le code Excess-3 est un code auto-complémentaire.

Cela signifie que le complément à 9 de tout nombre décimal est équivalent au complément à 1 du code excédentaire de 3 de ce nombre.

Prenons un exemple.

Complément à 9 de (6)10 = 9 - 6 = (3)10

Code XS-3 pour (3)10 = 0110

Maintenant, si nous prenons le complément à 1 de 0110,

Complément à 1 de 0110 = 1001

1001 = code XS-3 pour (6)10

Donc

Complément à 9 de (6)10 = Complément à 1 du code XS-3 pour (6)10

Les étapes de la soustraction Excès-3 en utilisant le complément à 9 sont :

Étape : 

Trouvez le complément à 9 de subtrahend.

Convertissez maintenant le minuend et le complément 9 du subtrahend en code excès-3.

Ajoutez maintenant les deux nombres en utilisant les règles d'addition en excès de 3.

OU

Trouvez le complément à 1 du code XS-3 de subtrahend et ajoutez-le au code XS-3 de minuend en utilisant les règles d'addition XS-3.

Étape 2 : Si le report est généré par un groupe de 4 bits, ajoutez 0011 au terme total de ce groupe de 4 bits.

Terminez également le report généré par MSB.

Étape 3 : Si aucun report n'est généré par l'ajout de MSB, cela signifie que le résultat final est négatif.

Tout d'abord, soustrayez 0011 du terme de somme de tous les groupes de 4 bits qui n'ont généré aucune retenue.

Maintenant, prenez le complément de 9 du résultat en décimal, puis convertissez-le en code XS-3 ou, de manière alternative, prenez le complément de 1 'du résultat.

Exemple: Effectuez (47)10- (32)10 par soustraction XS-3 en utilisant la méthode du complément à 9.

Solution:

Soustraction Excès-3 en utilisant le complément à 9 :

(47)10 47  
- +  
(32)10 67 complément à 9
de 32
= =  
  1 14  
  + 1 additionnez le
report
  =  
(15)10 15  

Code XS-3

    Code XS-3
(47)10 0111 1010
- + +
(32)10 1001 1010
  +  
  0001 <-1
= = =
  <-1 0001 <-1 0100
+ +
  0011 0011
  = =
  0100 0111
    +
  1-> 0001
  = =
(15)10 0100 1000
  1 5

2. Soustraction Excès-3 en utilisant le complément à 10

Complément à 10 de n'importe quel nombre décimal = Complément à 2 du code XS-3 de ce nombre décimal.

Prenons le nombre décimal (24)10

Complément par 10 de (24)10 = (76)10

Code excès-3 pour (76)10 = 1010 1001

Maintenant code Excès-3 de (24)10 = 0101 0111

Complément à 2 de 0101 0111 = 1010 1000 = Code excès-3 pour (76)10

Les étapes de la soustraction XS-3 en utilisant le complément à 10 sont :

Étape 1 :

Recherchez le complément par 10 du subtrahend, puis convertissez à la fois le minuend et le complément par 10 du subtrahend en code XS-3.

Ajoutez maintenant les deux en utilisant les règles d'addition XS-3.

OU (autre manière)

Trouvez le complément à 2 du code XS-3 de subtrahend et ajoutez-le au code XS-3 de minuend.

Étape 2 :

Si le report est généré par MSB, ignorez-le.

Ajoutez 0011 pour additionner les termes de tous les groupes de 4 bits qui génèrent le report.

Étape 3 :

Si aucun report n’est généré par MSB, le résultat est négatif.

Tout d’abord, soustrayez 0011 des termes de somme de tous les groupes de 4 bits qui ne génèrent aucune retenue.

Maintenant, prenez le complément à 10 du résultat sous forme décimale, puis convertissez ce résultat en code XS-3 ou bien prenez le complément à 2 du résultat dans XS-3.

Exemple: Effectuez (36)10 - (24)10 par soustraction XS-3 en utilisant la méthode du complément à 10.

Soustraction XS-3 en complément à 10 :

(36)10 36  
- +  
(24)10 76 complément à 10
de 24
= =  
  1 12  
    ignorez le
report
  =  
(12)10 12  

Code XS-3

    Code XS-3
(36)10 0110 1001
- + +
(24)10 1010 1001
  +  
  0001 <-1
  = =
ignorez le report 1 0001 <-1 0100
+ +
  0011 0011
  = =
0100 0101
= = =
(12)10 1 2

 

 

 

 

 

 

Recherche personnalisée