Encyclopédie Wikimonde

Traitement numérique (microprocesseur)

Aller à : navigation, rechercher

Cet article est utile pour les élèves de collèges et de lycées techniques. Le microprocesseur, cerveau de l'ordinateur, effectue tous les calculs.

Système de numération

Base

Une base B caractérise un système de numération dans lequel tout nombre N peut s'écrire: N = mnBn + mn-1Bn-1 + M1B + m0B0 avec tous les coefficients m < B.

Exemples

  • Le nombre 341(8) en base octale s'écrit: 3 × 82 + 4 × 81 + 1 × 80
  • Le nombre 3AF8(16) en base hexadécimale s'écrit: 3 × 163 + A × 162 + F × 161 + 8 × 160

Tableau numérique

Base décimale Base binaire Base octale Base hexadécimale
0 0 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
17 10001 21 11
18 10010 22 12
... ... ... ...

Pondération

Représenter un nombre NB de n chiffres (ou symboles), dans une base B donnée, consiste en l'écriture en ligne de ces n chiffres de façon telle que: NB = (§)n-1… (§)i ... (§)5 (§)4 (§)3 (§)2 (§)1 (§)0

Avec : § : un quelconque des B chiffres ou symboles de la base, n - 1, .... i, 5, 4, 3, 2, 1, 0 indices indiquant le rang ou la position d'ordre du chiffre à partir de la droite.

La pondération permet l'attribution d'une valeur numérique ou poids à chacun des rangs. Ce poids P dépend de la base dans laquelle est représenté le nombre et a pour valeur: P=Brang

Exemple

Dans le nombre décimal 425, le chiffre 5 est en position d'ordre 1 ou rang 0, le chiffre 2 en position d'ordre 2 ou rang 1 et le chiffre 4 en position d'ordre 3 ou rang 2.

4 2 5 nombre

2 1 0 rang

Pour la base 10, système décimal :

  • le premier rang ou rang 0 a pour poids 100 soit 1, c'est le rang des unités,
  • le rang suivant, rang 1 a pour poids 101 soit 10 (rang des dizaines),
  • le rang 2 a pour poids 102 soit 100 (rang des centaines),
  • le rang 3 a pour poids 103 Soit 1000 (rang des milliers), et ainsi de suite.

Note

Dans le système binaire on ne parle plus d'unité, de dizaine ou de centaine mais de bit (contraction de l'anglais binary digit, qui signifie rang binaire). On distingue ainsi le bit 0, le bit 1, le bit 2, le bit 3 ... L'équivalent français de bit est élément binaire ou eb, ce terme est relativement peu employé.

Code binaire pur

Le code binaire pur ou code binaire naturel est un code pondéré dans lequel les poids sont représentés par les puissances successives de deux. La valeur décimale du nombre binaire représenté s'obtient directement par addition du poids affecté à chaque bit de valeur 1.

Note

Un groupe de huit bits est appelé octet (en anglais byte of 8 bits). Un groupe de quatre bits est appelé quartet (en anglais byte of 4 bits).

Exemple

Le nombre binaire 110011 a pour valeur : 1 × 25 + l × 24 + 0 × 23 + 0 × 22 + 1 × 21 + 1 × 20 Soit en décimal : 32 + 16 + 0 + 0 + 2 + 1 = 51

24 (16) 23 (8) 22 (4) 21 (2) 20 (1) Équivalent décimal N(10)
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 2 + 1 ou 3
0 1 0 0 4
0 1 0 1 4 + 1 ou 5
0 1 1 0 4 + 2 ou 6
0 1 1 1 4 + 2 + 1 ou 7
1 0 0 0 8
1 0 0 1 8 + 1 ou 9
1 0 1 0 8 + 2 ou 10
1 0 1 1 8 + 2 + 1 ou 11
1 1 0 0 8 + 4 ou 12
1 1 0 1 8 + 4 + 1 ou 13
1 1 1 0 8 + 4 + 2 ou 14
1 1 1 1 8 + 4 + 2 + 1 ou 15
1 0 0 0 0 16
1 0 0 0 1 16 + 1 ou 17
1 0 0 1 0 16 + 2 ou 18

Code de Gray (code binaire réfléchi)

Dans le code binaire pur le passage d'une combinaison à l'autre entraîne parfois le changement simultané de plusieurs bits. C'est par exemple le cas pour la transition de l'équivalent décimal 3 à l'équivalent décimal 4 pour laquelle les bits de poids 1 et 2 passent de 1 à 0 et le bit de poids 4 passe de 0 à 1. Pour éviter cet inconvénient, cause d'aléas lorsque le code sert à la représentation de grandeurs physiques à variation continue, informations de position par exemple, il est nécessaire d'imaginer des codes pour lesquels le passage d'une combinaison à la suivante n'implique que la modification d'un bit et d'un seul. De tels codes sont appelés "codes réfléchis". Parmi ceux-ci, le code de Gray est le plus employé.

Plus d'infos sur le Code de Gray sont disponibles sur Internet. Voir sur Google.

Note

Un code réfléchi qui est un code non pondéré ne peut être utilisé pour les opérations arithmétiques.

Représentation hexadécimale des nombres binaires

La représentation hexadécimale ou représentation à base 16 est une notation condensée des nombres binaires. En remarquant que 24 = 16, on peut représenter un octet binaire à l'aide de l'un des 16 symboles du système hexadécimal. Dans ce système les dix premiers symboles sont identiques à ceux utilisés dans le système décimal : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9, et les six derniers correspondent aux premières lettres de l'alphabet latin : A, B, C, D, E et F, lesquelles valent respectivement : 10, 11, 12, 13, 14 et 15 en base 10.

Transcodage

Passage de la base 2 à la base 16

Pour représenter en hexadécimal un nombre binaire, il suffit de le découper en groupe de quatre bits. Chacun des bits de ces groupes ayant une pondération s'échelonnant de 20 à 23, leur somme fournit la valeur hexadécimale de chaque groupe.

Exemple

Soit le nombre binaire 1011100110101100 à convertir en hexadécimal. Le découpage en quartets de ce nombre donne : 1011 1001 1010 1100

Après pondération, la somme S, bit par bit de chaque groupe de quatre bits est :

23 (8) 22 (4) 21 (2) 20 (1) S
1 0 1 1 11 Soit B(16)
1 0 0 1 9 Soit 9(16)
1 0 1 0 10 Soit A(16)
1 1 0 0 12 Soit C(16)

Le nombre hexadécimal correspondant au nombre binaire 1011100110101100 est : B9AC

Passage de la base 16 à la base 2

Pour convertir en binaire un nombre hexadécimal, il convient de remplacer chacun des symboles hexadécimaux par son quartet binaire équivalent.

Exemple

Les trois quartets binaires équivalents au nombre hexadécimal 8D6 sont :

23 (8) 22 (4) 21 (2) 20 (1)
8 1 0 0 0
D 1 1 0 1
6 0 1 1 0

Le nombre binaire correspondant au nombre hexadécimal 8D6 est : 1000 1101 0110.

Représentation octale des nombres binaires

Comme la représentation hexadécimale la représentation octale ou représentation à base 8 est une notation condensée des nombres binaires. En remarquant que 23 = 8, on peut représenter un triplet binaire à l'aide de l'un des 8 symboles du système octal. Ces huit symboles sont identiques aux huit premiers chiffres du système décimal, soit : 0, 1, 2, 3, 4, 5, 6 et 7.

Pour représenter en octal un nombre binaire, il suffit de le découper en groupe de trois bits ou triplet. Chacun des bits de ces groupes ayant une pondération s'échelonnant de 20 à 22 leur somme fournit la valeur octale de chaque groupe.

Soit le nombre binaire 110101100 à convertir en octal. Le découpage en triplets de ce nombre donne : 110 101 100.

Après pondération, la somme S, bit par bit de chaque groupe est :

22 (4) 21 (2) 20 (1) S
1 1 0 6 Soit 6(8)
1 0 1 5 Soit 5(8)
1 0 0 4 Soit 4(8)

Le nombre octal correspondant au nombre binaire 110101100 est : 654

Représentation décimale codée en binaire

Dans la représentation décimale codée en binaire, à chacun des éléments décimaux correspond un quartet représentatif de son équivalent binaire.

Ainsi :

  • au 0(10) correspond 0000(2) ;
  • au 1(10) correspond 0001(2) ;
  • au 9(10) correspond 1001(2).

Les valeurs possibles d'un quartet de bits supérieures à neuf 1010(2), 1011(2), 1100(2), 1101(2), 1110(2) et 1111(2), aussi représentées A(16), B(16), C(16), D(16), E(16), F(16), sont invalides et inutilisées dans la représentation binaire codée décimale.

Le code Décimal Codé Binaire (BCD) est un code pondéré. Les poids des bits représentatifs sont :

  • pour le quartet le moins significatif (le premier quartet à droite): 8.4.2.1. ;
  • pour le quartet suivant 80.40.20.10 ;
  • 800.400.200.100. pour le troisième ;
  • et ainsi de suite jusqu'au quartet le plus significatif (le dernier quartet à gauche).

Exemple

Le nombre décimal 2001(10) devient en BCD : 0010 0000 0000 0001. Inversement, le nombre BCD 1001 0101 0001 0111 devient en décimal 9517.

Récapitulations

Tableau récapitulatif de conversion des systèmes

Base
décimale
Base
binaire
Base
octale
Base
hexadécimale
0 0 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
17 10001 21 11
18 10010 22 12
... ... ... ...

Récapitualtif des méthodes de conversion

Conversion binaire - décimal

La méthode consiste à décomposer le nombre en puissances décroissantes de 2 en partant du rang le plus haut, soit :

  • 1010(2) = 1 × 23 + 0 × 22 + 1 × 21 + 0 × 20
  • 1010(2) = 8 + 0 + 2 + 0
  • 1010(2) = 10(10)

Conversion décimal - binaire

On effectue des divisions successives par 2 (voir plus en haut).

Conversion hexadécimal - décimal

La méthode consiste à décomposer le nombre en puissances décroissantes de 16 en partant du rang le plus haut, soit :

  • BA8(16) = B × 162 + A × 161 + 8 × 160
  • BA8(16) = 11 × 162 + 10 × 161 + 8 × 160
  • BA8(16) = 2816 + 160 + 8
  • BA8(16) = 2984(10)

Conversion décimal - hexadécimal

On effectue des divisions successives par 16 (voir plus en haut).

Conversion octal - décimal

La méthode consiste à décomposer le nombre en puissances décroissantes de 8 en partant du rang le plus haut, soit :

  • 777(8) = 7 × 82 + 7 × 81 + 7 × 80
  • 777(8) = 448 + 56 + 7
  • 777(8) = 511(10)

Conversion décimal - octal

On effectue des divisions successives par 8 (voir plus en haut).

Opérations arithmétiques en base 2

Les opérations les plus fréquentes en base 2 sont l'addition et la soustraction. Ces opérations s'effectuent de la même manière que les opérations décimales en utilisant des tables d'addition et de soustraction plus simples.

Addition binaire

L'addition est l'opération qui consiste à effectuer, dans un premier temps, la somme Si de deux chiffres binaires de même rang tels que Ai et Bi par exemple, puis, dans un second temps, une deuxième somme entre le résultat précédemment obtenu et la valeur du report ou retenue Ri-1, issu de l’addition aval de rang i - 1.

Exemple

Effectuer l'addition de deux nombres binaires A et B tels que :

  • A = 110 (6 en décimal)
  • B = 011 (3 en décimal)

Décomposition de la procédure :

  • au premier rang (20), la retenue en aval est forcément nulle et le total de A et B est bien égal à 1,
  • au rang suivant (21), la retenue en aval est également nulle, le total de A1 et B1, est égal à 0 mais génère un report R1,
  • au troisième rang (22) au total de A2 et B2 égal à 1 il faut rajouter le report R1 ce qui donne un total définitif de 0 avec un report R2 qui affecte le rang quatre.

Résultat final

Le résultat définitif est donc : 1001 soit 9 en décimal (6 + 3 = 9).

Voir aussi

Liens externes

Article publié sur Wikimonde Plus

Erreur Lua dans Module:Suivi_des_biographies à la ligne 197 : attempt to index field 'wikibase' (a nil value).