Vous êtes sur la page 1sur 9

08/10/2019

CHAPITRE I – SYSTÈMES
DE NUMÉRATION ET
CODAGE
Par :
Khaled Hassine
Khaled.hassine@fsg.rnu.tn

07/10/2019 Khaled Hassine 1 Khaled Hassine 2


07/10/2019

1 2

PLAN PLAN

Codage des entiers Codage des entiers

Codage des réels Codage des réels

Bases octale et Hexadécimale Bases octale et Hexadécimale

Opérations arithmétiques Opérations arithmétiques

Récapitulatif Récapitulatif

Khaled Hassine 3 07/10/2019 Khaled Hassine 4


07/10/2019

3 4
08/10/2019

Les systèmes de numération Le codage des nombres entiers


 Variétés des informations traitées par les ordinateurs : entiers, réels,  Soit la représentation d'un nombre entier N dans une base
textes, images, etc.
B : N = (an an-1 ... a1 a0)B
 Deux types de représentation :

 externe (par rapport à la machine) : la perception humaine. où ai sont des entiers compris entre 0 et B-1.
Par exemple, l’homme traite les nombres en décimale (base 10).  Implicitement la base est 10.
 interne : la forme que prennent les données pour qu'elles puissent être traitées

par un ordinateur. Cette représentation doit pouvoir s'adapter aux circuits  L'indice i est le rang du symbole ai : c’est le poids (le
électroniques internes d'un ordinateur qui fonctionnent avec deux états stables : coefficient) de Bi.
le courant passe ou ne passe pas (0 et 1), c'est la base 2, dite aussi base
binaire.  Le coefficient an est le poids fort et a0 (chiffre des unités)
 Un bit est le support d'un élément binaire. Une collection de huit bits est est le poids faible.
appelée octet.
 Ce cours traite le problème de passage de la représentation externe vers la
représentation interne et inversement (les systèmes de numération).

07/10/2019 Khaled Hassine 5 07/10/2019 Khaled Hassine 6

5 6

Le passage de la base 10 vers la base B


Le passage vers la base 10
 La valeur décimale du nombre N est :
n  Pour passer de la base 10 vers la Action TransformationInverse (
N =  ai × B i = an B n + an −1 B n −1 + K + a1 B + a0 base B, il suffit de procéder à une
série de divisions par la base
Données B, E : entire ;
i =0 jusqu'à obtenir un quotient nul. On Résultat N : entier; Coef :
Action Transformation prend à chaque fois le reste de la [Max]entier);
 La formule précédente
division. Le premier reste est le Début
peut être mise sous la (Données N, B : Entier ;
Coef : [Max]Entier ;
coefficient de poids faible. N←0
forme suivante : L'algorithme décrivant ce principe
Résultat E : Entier); 
Tant que E ≠ 0
N = ((((((((((an B + an-1)B + Variables i : Entier
est le suivant (les opérateurs DIV et
Faire
MOD sont les opérateurs
an-2) B + an-3)B + ... + a1)B Début conventionnels de division et de Coef[N] ← E MOD B
+ a0 E←0 reste de la division entière) N ← N+1
 Avantage : facile à Pour i de N à 0 E ← E DIV B
programmer. Faire Les coefficients sont stockés
FinFaire
E ← E * B + Coef[i] dans l’ordre de leur obtention. Fin.
FinFaire
07/10/2019 Khaled Hassine Fin. 7 07/10/2019 Khaled Hassine 8

7 8
08/10/2019

PLAN
Exemple

30 = ? 2 = 111102  30 = ? 8 = 368
 Codage des entiers
Nombre Quotient Reste
30 3 6
Nombre Quotient Reste

30 15 0
3 0 3 Codage des réels
15 7 1
 30 = ? 16= 1E16
7 3 1 Bases octale et Hexadécimale
3 1 1 Nombre Quotient Reste

1 0 1 30 1 14
1 0 1 Opérations arithmétiques

Récapitulatif

07/10/2019 Khaled Hassine 9 07/10/2019 Khaled Hassine 10

9 10

Passage de la base B vers la base 10 Le passage de la base 10 vers la base B


 Soit la représentation d'un nombre réel R dans une base  Le passage inverse (de la base 10 vers B):
b: an an-1 ... a1 a0.a-1 a-2 ... a-k où tous les ai sont des
entiers compris entre 0 et B-1.  Pour la partie purement entière : identique au
 Pour passer d'une base B quelconque vers la base 10 : traitement des entiers.
 Pour la partie purement décimale :
n  On procède à une succession de multiplication par
R=  ai × B i = an B n + an−1B n−1 + K + a1B + a0 + a−1B −1 + K + a−k B − k la base jusqu'à obtenir une partie décimale
i=−k nulle.
 On prend, après chaque multiplication, la partie
entière : c'est le coefficient a-i (i est l'ordre de la
multiplication).

07/10/2019 Khaled Hassine 11 07/10/2019 Khaled Hassine 12

11 12
08/10/2019

Exemple : base 2 Remarques


Dans le cas de la base 2 (codage Exemple : 20.375  La représentation dans la base 2 n'est pas forcément finie,
binaire) les coefficients ai prennent Pour la partie entière, même si la représentation dans la base 10 l'est.
les valeurs 0 ou 1. Le passage de la 20 2
base 10 à la base 2 se fait par des Exemple :
0 10 2
divisions successives par 2 pour la 0.210 = 0.0011 0011 0011 ...2 = 0.(0011)2
partie entière et par des 0 5 2
multiplications successives par 2 pour 1 2 2  L'erreur commise en limitant le nombre de bits de la
la partie fractionnaire. 2010 = 101002 0 1 2 représentation est appelée erreur de troncature.
Pour la partie décimale :
1 0 Lorsqu'on effectue un arrondi sur cette représentation, on
0.375 x 2 = 0.75 0 parle d'erreur d'arrondi.
0.75 x 2 = 1.5 1
0.5 x2=1 1

Ainsi 20.37510 = 10100.0112.

07/10/2019 Khaled Hassine 13 07/10/2019 Khaled Hassine 14

13 14

PLAN
Bases octale et hexadécimale
 La manipulation des nombres dans la base 2 étant
Codage des entiers délicate, deux autres bases sont alors utilisées : la base
Octale (B=8) et la base Hexadécimale (B=16).
Codage des réels  Ces codes sont des codes pondérés par des
puissances de 2.
Bases octale et Hexadécimale  L'intérêt de ces bases est double :
 elles fournissent une représentation condensée des nombres
binaires,
Opérations arithmétiques  autorisent une conversion facile et immédiate de et vers la
base 2.

Récapitulatif

07/10/2019 Khaled Hassine 15 07/10/2019 Khaled Hassine 16

15 16
08/10/2019

La base octale Exemple


 La base octale utilise les symboles : 0, 1, 2, …, 7.  11.375 = 1011.0112 = 13.38
Décimal Binaire Octal
 Le code octal est un code pondéré par des puissances de
0 000 0
2. Cette caractéristique intéressante laisse simple la
conversion du binaire vers l’octal et vice versa : 1 001 1
 Le passage de la base 2 vers la base 8 : regroupements des 2 010 2
digits binaires par 3. 3 011 3
 du point décimal (la virgule) vers la gauche pour la partie 4 100 4
entière et du point décimal vers la droite pour la partie
décimale. 5 101 5
 Le passage inverse : éclatement de chaque symbole octal en 6 110 6
son équivalant binaire sur 3 digits. 7 111 7

07/10/2019 Khaled Hassine 17 07/10/2019 Khaled Hassine 18

17 18

Le système hexadécimal Les bases octale et hexadécimale


 Le système hexadécimal utilise 16 symboles : Décimal Binaire Octal Hexadécimal
Décima Binaire Octal Hexadécim
l al
 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
0 0 0 0 8 1000 10 8
 A (pour 10), B (pour 11), C (pour 12), D (pour 13), E (pour 14), F
1 1 1 1 9 1001 11 9
(pour 15).
2 10 2 2 10 1010 12 A
 Le système hexadécimal est aussi un code pondéré.
3 11 3 3 11 1011 13 B
 Le passage de la base 2 à la base 16 (respectivement de
4 100 4 4 12 1100 14 C
la base 16 vers la base 2) se fait alors de la même façon
5 101 5 5 13 1101 15 D
que pour la base octale mais les regroupements
(respectivement les éclatements) des chiffres binaires se 6 110 6 6 14 1110 16 E
font par (respectivement sur) 4 éléments binaires. 7 111 7 7 15 1111 17 F
0 est représenté par 0 quelque soit la base
1 est représenté par 1 quelque soit la base • B10 = 10B

07/10/2019 Khaled Hassine 19 07/10/2019 Khaled Hassine 20

19 20
08/10/2019

PLAN
Opérations arithmétiques
 Les opérations arithmétiques dans les bases binaire, octale
Codage des entiers et hexadécimale sont identiques à celles en base 10.
 L’astuce principale est dans la prise en compte des retenus
Codage des réels lors des calculs.
 Exemple :
Bases octale et Hexadécimale  18.125 [+ - x] 6.25
 18.125 = 10010.0012 = 12.2H = 22.18
 6.25 = 110.012= 6.4H = 6.28
Opérations arithmétiques

Récapitulatif

07/10/2019 Khaled Hassine 21 07/10/2019 Khaled Hassine 22

21 22

Addition Soustraction
10010.001
18.125 18.125 10010.001
+ 110.01
+ 6.25 − 6.25 − 110.01
= 11000.011
= 24.375 = 11.875 = 1011.111
Binaire
Décimal Décimal Binaire
12 .2
22.1 22.1 12 .2
+ 6 .4
+ 6.2 − 6.2 − 6 .4
= 18 .6
= 30.3 = 13.7 = B .E
Octal Hexadécimal Octal Hexadécimal
07/10/2019 Khaled Hassine 23 Khaled Hassine 24
07/10/2019

23 24
08/10/2019

Multiplication Multiplication

18.125 22.1 12 .2 10010.001


× 6.25 × 6.2 × 6 .4 × 110.01
90625 442 488 10010001
362500 15460 6 CC 0 10010001000
10875000 161.22 = 71 .48 100100010000
= 113.28125 Octal Hexadécimal = 1110001.01001
Décimal
Binaire

07/10/2019 Khaled Hassine 25 07/10/2019 Khaled Hassine 26

25 26

PLAN
Division
 A = 15.125 = 1111.0012 = 17.18 = F.2H
Codage des entiers
 B = 5.5 = 101.12 = 5.48 = 5.8H
 A/B = 2.75 = 10.112 = 2.68 = 2.CH
Codage des réels

Bases octale et Hexadécimale

Opérations arithmétiques

Récapitulatif

07/10/2019 Khaled Hassine 27 07/10/2019 Khaled Hassine 28

27 28
08/10/2019

Récapitulatif Récapitulatif
 Règle 1 : de la base 10 vers B
2 10 R1  Succession de division/multiplication par la base jusqu’à obtenir un
R2 quotient nul /partie décimal nul
R3  Règle 2 : d’une base B vers 10
R4 n
R5 R= a ×B i
i
= an B n + an −1 B n −1 + K + a1 B + a0 + a−1 B −1 + K + a− k B − k
i=−k
Pour passer de la
base 8 vers 16, il est  Règle 3 : pour passer de 2 à 8/16
possible de passer  Regroupement par 3/4 digits binaires
par 2 ou 10. Il est
évident qu’il est plus  Règle 4 : pour passer de 8/16 à 2
8 16 facile de passer par  Eclatement sur 3/4 digits binaires
la base 2.

07/10/2019 Khaled Hassine 29 Khaled Hassine 30


07/10/2019

29 30

Exercice d’application : Bases binaire,


Exemple d’application octale et hexadécimale
 1011101.011012 = 135.328 = 5D.68H  Laquelle de ces suites de digits peut-être une
 216.38 = 010001110.0112 = 8E.6H représentation d'un nombre binaire, octal, décimal ou
 520.68 = 101010000.1102 = 150.CH hexadécimal ?
 10001 1012122 1018258 2A6BFFE DR54A
 2A6.316 = 001010100110.00112 = 1246.148
 Donner l'équivalent décimal des entiers suivants :
 1101011102 3678 13D16
 Donner l'équivalent décimal des réels suivants :
 1011011.1012 712.328 5C.3816

07/10/2019 Khaled Hassine 31 07/10/2019 Khaled Hassine 32

31 32
08/10/2019

Conversion entre les bases


 Compléter le tableau suivant puis commenter les résultats
trouvés
Base 2 Base 10 Base 8 Base 10 Base 16 base 10

0 = ............ 0 = ............ 0 = ............

1 = ............ 1 = ............ 1 = ............

10 = ............ 10 = ............ 10 = ............

0.1 = ............ 0.1 = ............ 0.1 = ............

0.01 = ............ 0.01 = ............ 0.01 = ............

07/10/2019 Khaled Hassine 33 07/10/2019 Khaled Hassine 34

33 34

Vous aimerez peut-être aussi