Numération
I. Représentation des nombres entiers ................................................................. 2
I.1. Nombres non signés.................................................................................................2
I.2. Nombres signés .......................................................................................................2
II. Changement de bases ..................................................................................... 3
II.1. Hexadécimal ou binaire vers décimal ......................................................................3
II.2. Décimal vers hexadécimal ou binaire.......................................................................3
II.2.1. Soustractions successives ...........................................................................3
II.2.2. Divisions successives..................................................................................3
II.3. Hexadécimal-Binaire ..............................................................................................4
III. Opérations .................................................................................................... 4
III.1. Addition................................................................................................................4
III.2. Soustraction..........................................................................................................4
III.2.1. Directe......................................................................................................4
III.2.2. Par le complément ....................................................................................5
P. Hoppenot (1999) Informatique industrielle 2/5
Numération
Ce cours a pour objet de rappeler comment les nombres sont écrits en vue de se
familiariser avec les notations binaire et hexadécimale qui sont utilisées dans les processeurs.
Les passages d’une base à l’autre sont explicités ainsi que les opérations de bases dans chacune
des bases.
I. Représentation des nombres entiers
I.1. Nombres non signés
Base : Nombre qui sert à définir un système de numération. (Robert)
Dans une base quelconque, un nombre entier s’écrit de la façon suivante :
Nb an b a b a b a b
n
n
= × + - × n + + × + ×
-
1
1
1
1
0
... 0 avec "i,0 £ ai < b. On note alors :
Nb = anan-1...a1a0. Comme "i,0 £ ai < b, il faut b symboles (ou chiffres) pour écrire un
nombre en base b.
Dans la notation décimale (base 10, utilisée couramment), nous disposons de 10
chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9. Un nombre décimal s’écrit donc de la façon
suivante :N10 = 7531 par exemple. Cette notation signifie en fait :
N10
= 7 ×103 + 5×102 + 3×101 + 1×100.
En binaire (base 2), 2 chiffres suffisent : 0 et 1. Par exemple, en binaire, le nombre N2 = 1101
signifie : N2
= 1× 23 +1× 22 + 0× 21 + 1× 20.
En hexadécimal (base 16), il faut 16 symboles. Pour les 10 premiers, ceux de la base 10 sont
utilisés. Restent 6 symboles à définir. On prend par convention les 6 premières lettres de
l’alphabet. Les chiffres de la base hexadécimale sont donc : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,
D, E et F avec A=10, B=11, C=12, D=13, E=14, F=15. On écrit alors : N16 = 3D5F qui
signifie : N16
= 3×163 + 13×162 + 5×161 + 15×160.
I.2. Nombres signés
Et pour les nombres négatifs ? Il suffit de rajouter un signe devant ! Oui mais dans
un processeur, comment fait-on ? On cherche un codage d’un nombre négatif le plus efficace
possible. Par exemple, en décimal sur 2 chiffres, on peut coder 100 nombres (Figure I.1).
00 50 99
Figure I.1 : Représentation de 100 nombres avec 2 chiffres décimaux.
On peut faire plusieurs choix pour coder 50 nombres négatifs et 50 nombres
positifs. Par exemple, les 50 premiers sont choisis négatifs et les 50 suivants positifs. Donc le
nombre -50 est codé "0", le nombre -1 est codé "49", le nombre 0 est codé "50", le nombre 1
est codé "51", le nombre 49 est codé "99"… Ce choix n’est pas très judicieux : les nombres
positifs signés ne ressemblent pas du tout aux nombres positifs non signés. En effet, le nombre
1 est codé "1" dans la première convention et "51" dans la seconde.
Pour éviter cet inconvénient, on convient de noter les nombres 0 à 49 comme des
nombres classiques : 0 est représenté par "0", ..., 49 est représenté par "49". On écrit alors les
nombres négatifs avec les 50 codes non utilisés : -50 est représenté par "50", -49 est représenté
par "51", …, -2 est représenté par "98" et -1 est représenté par "99". Les nombres positifs sont
alors simples à lire. Les nombres négatifs quant à eux sont plus difficiles à lire. Mais ce codage
apporte un gros avantage. Si l' on effectue l' addition 1+(-1) on : a1+99=100. Si l' on ne grade
que les 2 derniers chiffres (convention de départ), on voit apparaître que 1+(-1)=0. Il en va de
même pour tous les nombres définis ainsi.
P. Hoppenot (1999) Informatique industrielle 3/5
Numération
Exercice : Trouver le codage du nombre -37 et vérifier que 37+(-37)=0.
Comment peut-on trouver facilement le codage d'un nombre négatif ? On
commence par calculer le complément restreint, noté Cr, du nombre choisi. Il est trouvé en
partant du nombre positif et en cherchant pour chaque chiffre le complément pour arriver à
9=10-1. Dans le cas de 37 on obtient : 3