Beruflich Dokumente
Kultur Dokumente
I- SYSTEMES DE NUMERATION
ET CODAGE
I - Système de numération
Par définition, un système de numération permet d'écrire et de représenter les divers nombres.
Il est défini par sa base de numération et les chiffres et/ou caractères utilisés.
Il existe plusieurs systèmes de numération; les plus connus sont les systèmes ; décimal,
binaire, octal et hexadécimal.
Dans le système décimal, tout nombre N s'exprime à partir des dix chiffres : 0,1,....,9. On dit
alors que la base de numération est B=10.
Pour le système binaire, les nombres sont représentés en utilisant les chiffres 0 et 1, ce qui
correspond à B=2. Pour l’octal B=8 et pour l’hexadécimal B=16
De manière générale, tout nombre N exprimé dans une base B quelconque s'écrit sous la
forme :
L’équivalent décimal d'un nombre N, exprimé dans une base B quelconque, est donné par la
relation :
Exemple 1
Convertir en décimal le nombre binaire (11010)2
(1 1 0 1 0)2
4 3 2 1 0 Poids de Position
4 3
= 1*2 + 1*2 + 0*22 + 1*21 + 0*20 = (26)10
Exemple 2
Convertir en décimal le nombre binaire (1011.011)2
( 1 0 1 1,0 1 1)2
3 2 1 0 -1 -2 -3 Poids de Position
1
= 1*23 + 0*22 + 1*2 + 1*20 + 0*2-1 + 1*2-2 + 1*2-3
= (11.375)10
17/2 •= 8 et reste = 1
8/2 •= 4 et reste = 0
4/2 •= 2 et reste = 0
(35)10 = (100011)2
Exemple
En utilisant la méthode des soustractions successives, convertir le nombre décimal 53 en
binaire.
On situe 53 dans la table des puissances successives de 2; ensuite on lui soustrait la borne
inférieure. On fait de même avec le reste trouvé et ainsi de suite jusqu’à trouver 0
26 25 24 23 22 21 20
64 32 16 8 4 2 1
53
On a utilisé dans les différentes soustractions 25, 2 4, 2 2 et 2 0 . On va donc mettre des 1, dans
les positions correspondant aux poids 5, 4, 2 et 0, et des 0 dans les positions qu’on n’a pas
utilisé c’est-à-dire les poids 3 et 1.
Ce qui donne:
(53)10 = (11 0 1 0 1)2
54 3 2 1 0 poids des bits
Exemple 1 : Convertir en octal le nombre décimal (53)10 en utilisant les divisions successives
(53)10 = (65)8
3/16 •= 0 et reste = 3
II-3 : Conversion décimal vers une base B quelconque d'un nombre réel
La conversion d’un nombre réel se fait en 2 parties. Pour la partie entière, on procède en
utilisant les méthodes présentées précédemment. Pour la partie fractionnaire, on fait des
multiplications successives par B de la partie fractionnaire, jusqu'à ce que l'on obtienne un
nombre entier. Si après plusieurs multiplications on ne trouve toujours pas de nombre entier,
on arrête les calculs.
A chaque multiplication on prend en compte seulement la partie entière obtenue.
Exemple
Convertir en binaire le nombre décimal 35,125
1/ Conversion de la partie entière : 35
35 : 2 = 17 : 2 = 8 : 2 = 4 : 2 = 2 : 2 = 1 : 2 = 0
1 1 0 0 0 1
0 0 1
(0.125)10 = (0.001)2
On obtient alors:
(35.125)10 = (100011.0001)2
Remarque:
Lorsque la multiplication successive par 2, ne donne pas 1 après plusieurs multiplications, on
arrête les calculs.
Exemple
0,33*2 = 0,66*2 =1,32 0,32*2 = 0,64*2 =1,28 0,28*2 =0,58*2 =1,16 0,16*2 =0,32
0 1 0 1 0 1 0
On voit qu’après 7 multiplications, on n’a toujours pas de nombre entier. Si on arrête les
calculs à ce stade, le résultat trouvé sera exact à 2-7 prés.
On a alors:
(0,33)10 = (0,0101010)2
Exemple
Convertir en octal le nombre décimal 42,341
1/ Conversion de la partie entière : 42
42 : 8 = 5 : 8 = 0
2 5
2 5 6 4
(0.341)10 = (0.2564)8
On obtient alors:
(42.341)10 = (52.2564)8
10111001 = 1*27 + 0*26 + 1*25 + 1*24 + 1*23 + 0*22 + 0*21 +1 *20 (4)
Sachant que :
26 = 82 , 23 = 8 et 20 = 80 ,
Il existe donc une équivalence entre chaque chiffre de la base 8 (octal) et un groupe de 3 bits.
Pour la partie entière d'un nombre, les bits seront regroupés par 3 de la droite vers la gauche;
alors que pour la partie fractionnaire, ils seront regroupés de la gauche vers la droite. Pour le
passage de la base 8 à la base 2, on utilise le procédé inverse.
Exemple
Exemple
Convertir en hexadécimal, le nombre binaire 11100010101.
(11100010101)2 = ( 0111 0001 0101 ) 2 = (715) 16
Exemple 2
Convertir en binaire, le nombre hexadécimal 8B3F
(8B3F) 16 = ( 1000 1011 0011 1111) 2 = (1000101100111111)2
Cas général
n
Il existe une équivalence entre une nombre exprimé dans une base B=2 et un groupe de n bits
d'un nombre exprimé dans la base 2 .
La règle énoncée plus haut pour les bases 8 et 16, peut être appliquée pour toutes les
n
conversions entre la base 2 et n'importe quelle base B = 2 .
4 6 8
nbre 8 4 2 1 nbre 8 4 2 1
hexadécimal hexadécimal
0 0 0 0 0 8 1 0 0 0
1 0 0 0 1 9 1 0 0 1
2 0 0 1 0 A 1 0 1 0
3 0 0 1 1 B 1 0 1 1
4 0 1 0 0 C 1 1 0 0
5 0 1 0 1 D 1 1 0 1
6 0 1 1 0 E 1 1 1 0
7 0 1 1 1 F 1 1 1 1
Exemple
Ecrire (468)10 en Hexadécimal
468 : 16 = 29 : 16 = 1 : 16 = 0
restes ------> 4 13 1
4 D 1 (468)10 = (1D4)H
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 0 1 0
4 0 1 1 0
5 0 1 1 1
6 0 1 0 1
7 0 1 0 0
8 1 1 0 0
9 1 1 0 1
10 1 1 1 1
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0
nbre décimal 2 4 2 1 2 4 2 1
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 1 0 0 0 N1
3 0 0 1 1 1 0 0 1
4 0 1 0 0 1 0 1 0
5 1 0 1 1 0 1 0 1
6 1 1 0 0 0 1 1 0
7 1 1 0 1 0 1 1 1 N2
8 1 1 1 0 1 1 1 0
9 1 1 1 1 1 1 1 1
Exemple 1
Additionner les deux nombres binaires 1101 et 1001
1101 + 1001 = 10110
(13) (9) (22)
Exemple 2
Additionner les deux nombres hexadécimaux 7AB1 et 19EF
11 1 1 111 1111 11 1 11 1
0111 1010 1011 0001 7AB1
+ 0001 1001 1110 1111 + 1 9EF
= 1001 0100 1010 0000 = 94A0
Sachant que système hexadécimal est un système à base 16, le détail de l’addition
7AB1+19EF peut être présenté comme suit:
1 + F = 16= 0 + 16 soit 0 et une retenue = 1
B+E+1=11+ 14 +1= 26 = 10 +16; soit A et une retenue =1
A + 9 + 1 = 10 + 10 = 20 = 4 + 16 ; soit 4 et une retenue=1
7 + 1 + 1= 9 soit 9 et une retenue =0
Remarque :
Pour l'addition de deux nombres BCD, on procède de la même manière que pour l'addition de
deux nombres hexadécimaux. On doit vérifier que le résultat de l'addition est en BCD, c’est à
dire que tous les quartets sont inférieurs à 9.
Si au moins un quartet est supérieur à 9, on doit effectuer une correction sur le résultat. Pour
cela, on ajoute 6 à chaque quartet supérieur à 9.
Exemple 1
Additionner les deux nombres BCD 85 et 51.
Exemple 2
Additionner les deux nombres BCD 93 et 68
1001 0011
+ 0110 1000
1111 1011
----- ( 2 quartets > 9 donc correction sur les 2 quartets )
+ 0110 0110
= 0001 0110 0001
(1) (6) (1)
Exemple 3
111 111
0010 0111
+ 0011 1001
0110 0000
---------------> (quartet > 9 car il y a une retenue entre les quartets )
+ 0110
= 0110 0110
(6) (6)
IV- 2: La soustraction
IV-2-1: la soustraction binaire
La soustraction binaire obéît aux règles suivantes:
0-0= 0
1-0= 1
0 - 1 = 1 avec un report de 1
1-1= 0
Exemple 1
Effectuer la soustraction binaire 10 - 9
10 -----> 1010 9 -------> 1001
1010 - 1001 = 0001
----------------- pas de report, alors le résultat est positif
Exemple 2
Effectuer la soustraction binaire 9 - 10
1001 - 1010 = 1 1111
----------------- report = 1, le résultat est négatif et sa valeur absolue
est égale au complément à 2 du résultat trouvé ( voir définition du complément à 2, dans
le paragraphe suivant).
Par définition le complément à 2 d'un nombre binaire, c'est le complément bit à bit de ce
nombre, plus 1. Le 1 étant rajouté au bit le moins significatif.
Considérons l'opération : A-B, cette dernière peut également s’écrire comme suit :
A B A B 1 B 1 B ( A B 1) ( B B 1)
25 = 11001, 12 = 01100 ( les deux nombres doivent être sur le même nombre de bits)
Complément à 2 de 12 CP2 (12) = 10011 + 1= 10100
d’où: 11001
+ 10100
= 1 01101
--------- retenue = 1 ==> résultat de la soustraction >0 et égale à +1101 (+13)
Exemple 2
Faire la soustraction 12 - 25 en complément à 2.
Exemple 3
Faire la soustraction 12 - 5,75 en complément à 2.
1100
+ 1010,01
= 1 0110,01
------------ retenue = 1 ==> résultat > 0, égale à + 0110,01 (+ 6,25)
Exemple 1
Faire le produit 0110 * 0111 (6*7)
0110
* 0111
0110
0110.
0110 .
101010
(32) (8) (2) = 42
Exemple 2
Faire le produit 1010,11 * 11 (10,75*3)
10 1 0,11
* 11
101011
101011.
= 1 0 0 0 0 0, 0 1
(32) (0.25) = 32.25
V- 4: La division binaire
Le principe de la division binaire est semblable à celui de la division décimale, mais en plus
simple du fait que chaque quotient partiel est soit égale à 1 ( division possible) où à 0
(division impossible). La division est l’opération inverse de la multiplication, dans le sens ou
on soustrait de façon répétitive un nombre à un autre jusqu’à ce que cela ne soit plus possible,
avec à chaque fois un décalage à droite.
- La première étape consiste à soustraire, en partant de la gauche, le diviseur au dividende. Si
la soustraction n’est pas possible, le diviseur est décalé d’une position vers la droite, ensuite la
soustraction est effectuée. La soustraction suivante a lieu entre le résultat de la soustraction
précédente, augmenté à droite du bit suivant du dividende, suivant le règle énoncée
précédemment. Cette étape est répétée jusqu’à épuisement des bits du dividende. A chaque
soustraction, on inscrit 1 au résultat; dans le cas contraire, on met un 0.
Exemple 1
Faire la division suivante : 101010 / 111 ( 42 / 7 )
1010 1 0
-0111 1
001 1 1
- 1 1 1 1
0 00 0 0 0 0 le résultat est donc 110 et un reste = 0 ( 6 et reste = 0).
Exemple 2