Doc Tableau
Doc Tableau
Doc Tableau
Objectif :
L’électronicien est amené à manipuler des valeurs exprimées dans différentes bases (notamment avec les systèmes
informatiques). Il est essentiel de posséder quelques notions sur les systèmes de numération en général et sur les systèmes
binaire et hexadécimal en particulier.
1/ Quelques définitions :
DIGIT : Contraction de "digital unit" unité digitale. Un digit est un élément d'information numérique de base
quelconque.
ex : Les nombres 1644 (base 10) et A84F (base 16) sont constitués chacun de 4 digits.
POIDS D’UN DIGIT : La valeur de chaque digit dépend de sa position. A chaque rang (position), est affecté un
poids. Les positions des digits d'un nombre écrit en base B ont pour poids des puissances de B. (voir § suivant)
BIT : Contraction de "binary digit" digit binaire. Un bit ne peut prendre que deux états 0 ou 1.
MSD : C'est le digit le plus significatif, de poids le plus fort (Most Significant Digit).
LSD : C'est le digit le moins significatif, de poids le plus faible (Least Significant Digit).
MOT : Un MOT est l’association (concaténation) de plusieurs digits ou bits (peut être aussi appelé courant un
« nombre »)
-> un mot de 4 bits s’appelle un quartet; ex : 1010
-> un mot de 8 bits s’appelle un octet; ex : 1011 0110
BASE : Un nombre est écrit en base B, chacun de ses digits peut être écrit avec B symboles différents :
CAPACITE DE COMPTAGE : Avec N digits écrits en base B, on peut compter de 0 à BN-1, soit BN nombres
différents.
ex1 : avec un nombre de 3 digits en base 10, on peut compter de 0 à 9 9 9 (= 103 - 1 ), soit 103
nombres différents.
ex2: avec un nombre de 4 digits en base 2, on peut compter de 0 à 15 (= 24 - 1 ). soit 103
nombres différents.
2/ Expression générale d'un nombre entier positif N (décomposition) :
De nombreux systèmes de numération sont utilisés en électronique numérique. Les plus courants sont les
systèmes de numération suivants :
- Binaire (Base 2)
- Décimal ( Base 10)
- Hexadécimal (Base 16)
546 = 5 x 100 + 4 x 10 + 6 x 1
Le poids est la puissance nième de 10 ( 10n ) si on numérote les rangs de droite à gauche et en commençant
par le rang n° 0.
28 = 2x 101 + 8x100
Les nombres tels que nous les utilisons sont, en réalité, une convention d'écriture. Tout nombre entier
positif peut s'écrire sous la forme d'un polynôme arithmétique.
· La base 2 (binaire) est employée pour traduire les états d’un système logique
[0 ou 1, tout ou rien, juste ou faux…]
· La base 8 (octal) autrefois très utilisée, elle tend aujourd’hui à disparaître au profit de la base 16 suite à
l’évolution technologique des composants (16 bits et +)
· La base 16 (hexadécimal) est apparue avec la logique microprogrammée et les microprocesseurs. Elle
· La base 10 (décimal) est universellement employée par l’homme depuis qu’il sait compter sur ses doigts
(10 doigts…)
2 Binaire 2 0 1
8 Octal 8 0 1 2 3 4 5 6 7
10 Décimal 10 0 1 2 3 4 5 6 7 8 9
16 Hexadécimal 16 0 1 2 3 4 5 6 7 8 9 A B C D E F
Il est important de savoir convertir un nombre exprimé dans une base vers une autre.
Tableau de correspondance entre les différentes bases pour les premières valeurs :
3.1/ Conversion d’un nombre en décimal vers son équivalent en binaire [(N)10 -> (N)2]
La méthode consiste à répéter la division par 2 du nombre décimal à convertir et au report des restes
jusqu’à ce que le quotient soit 0. Le nombre binaire résultant s’obtient en écrivant le premier reste à la
position du bit de poids le plus faible (LSB = Least Significant Bit) et le dernier à la position du bit de poids
le plus fort (MSB = Most Significant Bit).
(19)10 = (………)2 ?
LSB 19 2
1 9 2
1 4 2
0 2 2
0 1 2
1 0 => on arrête !
MSB
(41)10 = ( 10 1001 )2
20 = 1 80 = 1 100 = 1 160 = 1
21 = 2 81 = 8 101 = 10 161 = 16
22 = 4 82 = 64 2
10 = 100 162 = 256
23 = 8 83 = 512 10 = 1000 163 = 4096
3
Exercice : Quel est le code décimal correspondant à (1 1001 1000)2 et (1010 1010)2 ?
3.3/ Conversion d’un nombre en décimal vers son équivalent en octal ou hexadécimal [(N)10 -> (N)8 ou (N)16]
Il s’agit ici d’appliquer la même méthode que pour le passage du décimal vers le binaire ( § 3.1) en divisant
successivement le nombre décimal par 8 (conversion en octal) ou par 16 (conversion en hexadécimal).
(1028)10 = ( 2004 )8
(61)10 = ( 3D )16
(4095)10 = ( 7777 )8
Il s’agit ici d’appliquer la même méthode que celle pour le passage d’un nombre binaire en décimal ( § 3.2),
avec dans la formule du § 2.2 respectivement B=8 ou B=16.
Base de Base
Méthode de transcodage
départ d’arrivée
Binaire Méthode de la division par 2 du nombre
Décimal Octal Méthode de la division par 8 du nombre
Hexadécimal Méthode de la division par 16 du nombre
Binaire (N)10= an x Bn + an-1 x Bn-1 + .......+ a1 x B1 + ao x B0 avec B=2
Octal Décimal (N)10= an x Bn + an-1 x Bn-1 + .......+ a1 x B1 + ao x B0 avec B=8
Hexadécimal (N)10= an x Bn + an-1 x Bn-1 + .......+ a1 x B1 + ao x B0 avec B=16
La conversion de la base 2 à la base 16 (et inversement) se fait aisément, la base 16 étant un multiple
entier de la base 2. Elle permet de représenter sous une forme réduite un nombre binaire.
Méthode : 0n divise le nombre binaire en tranches de 4 bits (à partir du LSB). Chacun des quartets est
ensuite converti en un digit hexadécimal par simple sommation pondérée.
Exemple 1 :
23 22 21 20 23 22 21 20 23 22 21 20
(111000110101)2 = 1 1 1 0 0 0 1 1 0 1 0 1
Exemple 2 :
(D4C7)16 = D 4 C 7
Le code BCD est utilisé pour les afficheurs lumineux, son principe repose sur le codage de chaque digit
décimal (chiffre) en son équivalent en binaire sur 4 bits (et inversement).
Exemple :
Exercice : Combien faut-il de bits pour représenter un nombre décimal de 5 chiffres dans le code BCD ?
4. / Le code de GRAY
Le « code à distance unité » ou code de Gray, également appelé code reflex ou code binaire réfléchi, est
un code non pondéré, c’est à dire que les positions binaires ne sont affectées d’aucun poids.
Le code GRAY est aussi utilisé dans l’écriture des tableaux de Karnaugh (c’est pour plus tard…)
17
18
19
Il tire son appellation de l’abréviation américaine : American Standard Code Interchange Information.
C’est un code qui permet la représentation des caractères alphanumériques d’un micro-ordinateur, chaque
caractère étant codé par un mot de 8 bits appelé octet .
5. 2/ Le Code Barre
Ce principe de codage, apparu dans les années 80, est largement utilisé sur les produits de grande
consommation, car il facilite la gestion des produits.
Les barres représentent le codage de ces chiffres sur 7 bits , à chaque chiffre est
attribué un ensemble de 7 espace blancs ou noirs.
REMARQUE : D’autres codes moins utilisés existent comme le code Aïken, le code EXCESS 3 etc…
Pour le moment, nous n’avons parlé que de nombres positifs. Il peut s’avérer indispensable de traiter
également des nombres négatifs. Le langage binaire ne connaît pas le signe - (!)
Il existe 3 conventions pour exprimer les nombres signés dans le système binaire :
- Représentation de la valeur et du signe indépendamment (binaire signé),
- Représentation en complément à 1,
- Représentation en complément à 2.
L’une des méthodes est de réserver un bit pour indiquer le signe du nombre, d’où l’appellation de binaire
signé.
Le bit réservé au signe est toujours le bit le plus à gauche. (attention : Il ne correspond plus au MSB !)
Pour le bit de signe et par convention, le 0 représente le + et le 1 le -.
Pour calculer le complément à 1(CA1) d’un nombre binaire, il suffit de complémenter chaque bit de ce
nombre c'est-à-dire remplacer les 1 par des 0 et les 0 par des 1.
Attention : En notation signé, le bit de signe reste inchangé (ne pas le complémenter)
Exemple :
(-23)10 = s’écrit (1 0010111) en binaire signé (ci-dessus) et son complément à 1 est (1 1101000), le bit de
signe étant inchangé.
Pour calculer le CA2 d’un nombre binaire N, on ajoute la valeur 1 au CA1 de N. (CA2 = CA1 + 1)
Exemple 1 :
Nombre binaire N (non signé) : N = 0101
Complément à 1 de N : (N)CA1= 1010
Complément à 2 de N : (N)CA2 = 1011
Exemple 2 :
(-23)10 = s’écrit (1 0010111) en binaire signé,
son complément à 1 est (1 1101000),
son complément à 2 est (1 1101001).
7. / Calcul arithmétiques
L’addition de 2 nombres binaires est parfaitement analogue à l’addition de 2 nombres décimaux. Il faut
commencer par le bit de poids le plus faible en utilisant l’algorithme suivant :
0+0=0 1+0=1
5 0101 15 1111
+ 3 + 0011 + 11 + 1011
= 8 = 1000 = 26 = 11010
Dans le cas de la soustraction de deux nombres binaires non signés on peut utiliser l’algorithme suivant :
1-0=1 1- 1 = 0
Exemple : opération 7 - 2
0111
- 0010
= 0101 (= 5 !)
Une autre méthode consiste faire une addition de deux nombres de signes contraires
1er cas : La grandeur du nombre positif est supérieure à celle du nombre négatif
Il reste à faire l’addition avec le complémentant à 2 du nombre à soustraire, sans oublier son bit de signe.
Bit de signe
Débordement à éliminer
Remarque : nous avons additionné les bits de signe et la retenue ; cela peut entraîner un débordement
comme dans le cas ci-dessus, un débordement qui est toujours rejeté.
2ème cas : La grandeur du nombre positif est inférieure à celle du nombre négatif
Il reste à faire l’addition avec le complémentant à 2 du nombre à soustraire, sans oublier son bit de signe.
bit de signe
Le résultat de l’addition est négatif (bit de signe = 1) [c’est d’ailleurs ce qui le différencie du 1er cas]. Ce
résultat est écrit sous la forme du complément à 2.