Académique Documents
Professionnel Documents
Culture Documents
Chap 2
1ièreannée licenceS1
Annéeuniversitaire : 2013 - 2014
Ou :
Exemple : base 10
Le système décimal est celui dans lequel nous avons le plus l'habitude d'écrire.
Chaque chiffre peut avoir 10 valeurs différentes : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, de ce fait, le système
décimal a pour base 10.
745 = 7 x 100 + 4 x 10 + 5 x 1
745 = 7 x 10 x 10 + 4 x 10 + 5 x 1
745 = 7 x 102 + 4 x 101 + 5 x 100
Chaque chiffre du nombre est à multiplier par une puissance de 10 : c'est ce que l'on nomme
le poids du chiffre.
L'exposant de cette puissance est nul pour le chiffre situé le plus à droite et s'accroît d'une
unité pour chaque passage à un chiffre vers la gauche.
Cette façon d'écrire les nombres est appelée système de numération de position.
Dans notre système conventionnel, nous utilisons les puissances de 10 pour pondérer la
valeur des chiffres selon leur position, cependant il est possible d'imaginer d'autres systèmes
de nombres ayant comme base un nombre entier différent.
Le système octal utilise un système de numération ayant comme base 8 (octal latin octo =
huit).
Il faut noter que dans ce système nous n'aurons plus 10 symboles mais 8 seulement : 0, 1, 2, 3,
4, 5, 6, 7, Ainsi, un nombre exprimé en base 8 pourra se présenter de la manière suivante :
(745) 8
Lorsque l'on écrit un nombre, il faudra bien préciser la base dans laquelle on l'exprime pour
lever les éventuelles indéterminations (745 existe aussi en base 10). Ainsi le nombre sera mis
entre parenthèses (745 dans notre exemple) et indicé d'un nombre représentant sa base (8
est mis en indice).
Cette base obéira aux mêmes règles que la base 10, vue précédemment, ainsi on peut
décomposer (745) 8 de la façon suivante :
(745) 8 = 7 x 82 + 4 x 81 + 5 x 80
(745) 8 = 7 x 64 + 4 x 8 + 5 x 1
(745) 8 = 448 + 32 + 5
Dans le système binaire, chaque chiffre peut avoir 2 valeurs différentes : 0, 1. De ce fait, le
système a pour base 2.
(10 110) 2 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20
(10 110) 2 = 1 x 16 + 0 x 8 + 1 x 4 + 1 x 2 + 0 x 1
2
1.4. Le système hexadécimal :
La correspondance entre base 2, base 10 et base 16 est indiquée dans le tableau ci-après :
Tableau récapitulatif :
3
Le nombre (5AF) 16 peut se décomposer comme suit :
En exposant les principes des systèmes de numération de position, nous avons déjà vu
comment convertir les nombres de base 8, base 2 et base 16 en nombres décimaux.
(54 x 10) + 3
En divisant ce quotient (54) par 10, nous obtenons 5 comme deuxième quotient et 4 comme
reste. Ce reste donne le deuxième chiffre du nombre, donc celui des dizaines.
Enfin, si l'on divise ce deuxième quotient par 10, nous obtenons O et il restera 5 qui
représentera le chiffre des centaines.
Maintenant si nous divisons un nombre décimal par 2, le quotient indique le nombre de fois
que 2 est contenu dans ce nombre et le reste indique le chiffre des unités dans l'expression du
nombre binaire.
Soit N le nombre, Q1 le quotient et R1 le reste, nous avons :
N = (Q1 x 2) + (R1 x 1)
N = (Q1 x 21) + (R1 x 20)
4
Exemple :
Soit :
N = (22 x 2) + (0 x 1) = 44
Pour obtenir l'expression binaire d'un nombre exprimé en décimal, il suffit de diviser
successivement ce nombre par 2 jusqu'à ce que le quotient obtenu soit égal à O.
Comme pour la conversion dans le système décimal les restes de ces divisions lus de bas en
haut représentent le nombre binaire.
(44) 10 = (101100) 2
5
Nous pouvons remarquer qu'après 3 divisions en binaire nous avons le même quotient
qu'après une seule en octal. De plus le premier reste en octal obtenu peut être mis en relation
directe avec les trois premiers restes en binaire :
(111) 2 = 1 x 22 + 1 x 21 + 1 x 20
(111) 2 = 1 x 4 + 1 x 2 + 1 x 1
(111) 2 = (7) 8
(101) 2 = 1 x 22 + 0 x 21 + 1 x 20
(101) 2 = 1 x 4 + 0 x 2 + 1 x 1
(101) 2 = (5) 8
Cette propriété d'équivalence entre chaque chiffre octal et chaque groupe de 3 chiffres
binaires permet de passer facilement d'un système à base 8 à un système à base 2 et vice
versa.
La propriété d'équivalence que nous venons de voir entre le binaire et l'octal existe entre
l'hexadécimal et le binaire.
La seule différence est qu'il faut exprimer chaque caractère hexadécimal à l'aide de 4
informations binaires.
6
3. Représentation de l’information dans la machine :
Un entier naturel est un entier positif ou nul. Le choix à faire (c'est-à-dire le nombre de bits à
utiliser) dépend de la fourchette des nombres que l'on désire utiliser. Pour coder des nombres
entiers naturels compris entre 0 et 255, il nous suffira de 8 bits (un octet) car 28=256. D'une
manière générale un codage sur n bits pourra permettre de représenter des nombres entiers
naturels compris entre 0 et 2n - 1.
Pour représenter un nombre entier naturel après avoir défini le nombre de bits sur lequel on
le code, il suffit de ranger chaque bit dans la cellule binaire correspondant à son poids binaire
de la droite vers la gauche, puis on « remplit » les bits non utilisés par des zéros.
Un entier relatif est un entier pouvant être négatif. Il faut donc coder le nombre de telle façon
que l'on puisse savoir s'il s'agit d'un nombre positif ou d'un nombre négatif, et il faut de plus
que les règles d'addition soient conservées. L'astuce consiste à utiliser un codage que l'on
appelle complément à deux.
Un entier relatif positif ou nul sera représenté en binaire (base 2) comme un entier naturel,
à la seule différence que le bit de poids fort (le bit situé à l'extrême gauche) représente le
signe. Il faut donc s'assurer pour un entier positif ou nul qu'il est à zéro (0 correspond à un
signe positif, 1 à un signe négatif). Ainsi si on code un entier naturel sur 4 bits, le nombre le
plus grand sera 0111 (c'est-à-dire 7 en base décimale). D'une manière générale le plus grand
entier relatif positif codé sur n bits sera 2n-1 - 1.
7
3.3. Représentation des nombres signés :
3.3.1. Valeur absolue et leur signe :
C'est naturellement la première représentation qui vient à l'esprit. Il suffit d'affecter un bit
pour le signe et d'attribuer par convention la valeur 0 au signe + et la valeur 1 au signe -.
Et le nombre -32 :
Autres exemples :
Et - 9,750 :
Exemples :
Soit l'information (453) 10 ; son format est de 3 caractères et la base utilisé est 10.
La différence qui existe entre cette valeur maximale et 453 s'appelle le complément restreint.
Cette notion de complément restreint se retrouve avec n'importe quelle base utilisée et plus
particulièrement en binaire :
8
Complément restreint de (1001) 2
Si nous reprenons l'exemple du binaire, il n'est même pas nécessaire d'exécuter une opération
de soustraction pour obtenir ce complément restreint on s'aperçoit qu'il suffit de transformer
tous les 1 en 0 et vice versa pour l'obtenir.
Certaines machines utilisent ce code pour la représentation des nombres signés. Il est alors
appelé code du complément à 1.
et - 25 :
CR = Complément Restreint
Le complément vrai d'un nombre est la valeur qu'il faut ajouter à ce nombre pour obtenir la
valeur maximale + 1 que l'on peut exprimer (en tenant compte du format et de la base
utilisés).
Exemples :
9
Complément vrai :
Complément vrai :
On peut aussi obtenir le complément vrai d'un nombre en calculant d'abord son complément
restreint et en ajoutant ensuite 1.
Exemples :
Un exemple en binaire :
Code complément à 2 :
Restons en binaire (base 2) et appliquons une autre méthode pour traduire un nombre en
complément à 2.
Ensuite on inverse tous les bits après le premier 1 rencontré à partir de la droite.
10
Exemple :
0 0 on conserve le zéro
1 0
0 1
1 0
Un autre exemple :
0 1
1 0
1 0
1 0
11
Complément vrai = complément restreint + 1 = code complément à 2
Lorsque l'on veut représenter un nombre avec son signe (nombre signé) la solution la plus
simple consiste à rajouter un bit sur la gauche de la valeur absolue de ce nombre. Par
convention ce bit sera à 0 pour représenter un nombre positif
et à 1 pour représenter un nombre négatif.
0 1 1 0 signifie + 110 (+ 6) 10
1 1 1 0 signifie - 110 (- 6) 10
0000 +0
1000 -0
Pour faciliter le travail des machines informatiques et pour des circuits électroniques
simplifiés on représente un nombre signé en complément à 1 (complément restreint) ou en
complément à 2 (complément vrai = complément restreint +1).
Le tableau suivant donne un aperçu des différentes représentations pour un nombre compris
entre - 128 et + 127.
6. Le code BCD :
Tout nombre décimal se décompose en puissance de 10. En BCD, on code chaque chiffre du
nombre décimal sur 4 bits.
12
7. Opérations sur le système binaire :
7.1. L’addition binaire :
La numération étant à base 2, tout résultat supérieur à 1 génère un report dans la colonne
suivante.
(13) 10 = (1101) 2
(5) 10 = (101) 2
Les mêmes règles de signes s'appliquent aussi dans le cas des opérations binaires. L’addition
de nombre signé est utilisée dans la plupart des circuits numériques.
La méthode consiste à écrire les nombres positifs en notation exacte et à remplacer les
nombre négatifs par leur complément à 2 avant d’additionner. Si le résultat est positif, il est en
notation exacte, s’il est négatif, il est en notation complément à 2.
L’addition binaire classique est analogue à l’addition décimale. Il faut commencer par le bit de
poids faible en utilisant les relations suivantes :
0+0=0
0+1=1
1+0=1
1 + 1 = 0 avec un report de 1
13
Exemple :
Report 1 1 1 1 1 1
1 1 1 1 1 1
+ 1 0 1 1 0 1
-----------------------------------------------
1 1 0 1 1 0 0
Les circuits numériques ne permettent pas d’additionner plus de deux nombres binaires à la
fois. Les additions sont, en fait, une succession d’additions de deux nombres : le résultat de
l’addition du premier et de deuxième est ajouté au troisième et ainsi de suite. L’addition
binaire est l’opération la plus importante des circuits numériques car les autres opérations
comme la soustraction, la division et la multiplication en découlent.
(-12) 10 étant négatif, il faut le remplacer par son complément à 2. Pour cela, écrivons d’abord
le complément à 1 de (-12) 10 : (-12) 10 = 1 10011
Effectuons l’addition :
1 1
1er nombre (+17) 10 0 1 0 0 0 1
2ème nombre (-12) 10 + 1 1 0 1 0 0
---------------------------
Résultat 1 0 0 0 1 0 1
14
Remarque :
Nous avons additionné les bits de signe et la retenue; cela peut entraîner, comme dans le cas
présent, un débordement qui est toujours a rejeté. La somme étant positive, le résultat est en
notation exacte :
0 00101 = (+5) 10
1 1
1er nombre (-17) 10 1 0 1 1 1 1
2ème nombre (+12) 10 + 0 0 1 1 0 0
---------------------------
Résultat 1 1 1 0 1 1
Cette somme est négative, le résultat est le complément à 2 du total cherché qui s’écrit en
notation exacte : 1 0 0 1 0 1 = (-5) 10
1 1 1 1
1er nombre (-17) 10 1 0 1 1 1 1
2ème nombre (-12) 10 + 1 1 0 1 0 0
---------------------------
Résultat 1 1 0 0 0 1 1
Cette somme est négative, le résultat est le complément à 2 du résultat cherché qui s’écrit en
notation exacte : 1 11101 = (-29) 10
Remarque : Soustraire deux nombres peut se ramener à faire une addition. En effet, soustraire
B de A revient à additionner au nombre A écrit sous sa forme exacte, le complément à 2 de B,
bit de signe compris (ainsi un nombre positif devient négatif et un nombre négatif devient
positif).
15
7.2. La soustraction binaire :
D’une façon générale, les opérations décimales ou binaires obéissent aux mêmes règles.
Si le chiffre soustrait a une valeur numérique plus faible que celle du chiffre soustracteur, il y a
emprunt au terme soustrait de la colonne de poids immédiatement supérieur.
On procède ainsi de colonne en colonne jusqu'à la dernière représentant le poids le plus élevé.
De même que pour la soustraction décimale, si le terme soustrait a une valeur numérique plus
faible que le terme soustracteur, on inverse les opérateurs et on affecte au résultat le signe (-).
(11) 10 = (1011) 2
(5) 10 = (101) 2
L'emprunt généré par l'opération de la colonne 22 est reporté sous forme de retenue au
nombre de la colonne de poids immédiatement supérieure (soit 23).
16
7.3. Multiplication binaire :
Pour obtenir le résultat de la multiplication d’un nombre décimal par 10, en base 10, il suffit
de lui ajouter un 0. De même, on obtient le résultat de la multiplication d’un nombre binaire
par (10) 2 en ajoutant un 0 à ce nombre.
Additionner deux nombre égaux revient à multiplier par (10) 2 en base 2, donc à lui ajouter un
0.
Exemple :
0x0=0
0x1=0
1x0=0
1x1=1
Remarque :
Si les nombres sont tous les deux négatifs, ce sont leurs compléments à 2 qui sont pris
en compte avant la multiplication et le produit est en notation exacte.
Si l’un des nombres est négatif, on prend son complément à 2 avant la multiplication, le
résultat est le complément à 2 du produit cherché.
17
7.4. Division binaire :
1 1 0 1 1 0 | 1 0 1 0
- 1 0 1 0 | --------------
--------------- | 1 0 1
0 0 1 1 1 |
- 0 0 0 0 0 |
--------------- |
1 1 1 0 |
- 1 0 1 0 |
--------------- |
0 1 0 0 |
|
Soit :
(110110) 2 = (1010) 2 x (101) 2 + (100) 2
Ou encore en base 10 : 54 = 10 x 5 + 4
Si l’un des nombres est négatif, on prend son complément à 2 avant la division, le
résultat est le complément à 2 du quotient cherché.
18