1
CH1. Systèmes de Numérations
Généralisation:
un nombre A peut être exprimé dans un système de numération de Base B � (B ϵ N*) :
(A)B = an-1 an-2 ......a1 a0 a-1 a-2 ... a-m Chaque chiffre ai est tel que : 0 ≤ ai ≤ B-1
* an-1 est le symbole de poids le plus fort (MSB : Most Significant Bit si b = 2),
* a−m est le symbole de poids le plus faible (LSB : Least Significant Bit si b = 2)
La valeur numérique de A dans le système décimal est :
(A)10 = A = an-1 . Bn-1 + an-2 . Bn-2 + .......+ a0 . B0 + a-1 . B-1 +a-2 B-2 +...+ A-m . B-m (1)
n-1 m
A10 = ∑ ai . Bi + ∑ a-j . B-j +
i=0 j=1
partie entière
partie fractionnaire
2
CH1. Systèmes de Numérations
Bases de numération usuelles et représentation des nombres positifs.
les bases les plus utilisées en informatique sont les bases 10, 2, 8 et 16 appelées respectivement « décimale (B=10) », « binaire (B=2) », « octale (B=7) » et « hexadécimale (B=16) ».
9817 = 9.103 + 8.102 + 1.101 + 7.100
297,45 = 2.102 + 9.101 + 7.100 + 4.10-1 + 5.10-2
3
CH1. Systèmes de Numérations
Conversions entre bases de numération (nombres positifs):
Les conversions les plus utilisées sont les suivantes
• base b vers base 10
• base 10 vers base b
• base 2 vers base 2n (8 ou 16)
• base 2n (8 ou 16) vers base 2
4
CH1. Systèmes de Numérations
Représentation des nombres positifs
1) Base b vers base 10
Pour convertir un nombre d’une base b vers la base décimale, on utilise la méthode dite des additions qui consiste à utiliser la représentation du nombre sous forme polynomiale (équation 1).
Ex1: conversion du nombre binaire entier N(2) = 1101 0011 en base 10.
N=1.20+1. 21+0. 22+0. 23+1. 24+0. 25+1.26+1. 27=211(10)
Ex2: conversion du nombre binaire fractionnaire N(2)= 110011,1001 en base 10.
N=1.20+1.21+0.22+0.23+1.24+1.25+1.2-1+0.2-2+0.2-3+1.2-4=51,5625 (10)
5
CH1. Systèmes de Numérations
Représentation des nombres positifs
1) Base b vers base 10
Ex3: conversion du nombre octal entier N(8)= 4513 en base 10 .
N=3.80+1. 81+5. 82+4. 83=2379(10)
Ex4: conversion du nombre hexadécimal fractionnaire N(16)= 1B20,8 en base 10 .
N=0.160+2. 161+11. 162+1. 163+ 1.164 =6944,5(10)
6
CH1. Systèmes de Numérations
Représentation des nombres positifs
2) Base 10 vers base b
a) Nombres entiers
Pour effectuer une conversion d’un entier décimal dans une autre base on applique la méthode des divisions successives : on effectue des divisions successives du nombre par cette base, les restes successifs forment alors le nombre converti.
Exemple 1 : conversion de N( ) 10 = 52 en base 2
7
CH1. Systèmes de Numérations
Représentation des nombres positifs
2) Base 10 vers base b
a) Nombres entiers
Ex1 : conversion de N(10 ) = 52 en base 2
Donc
52(10 ) =110100 (2 )
8
CH1. Systèmes de Numérations
Représentation des nombres positifs
2) Base 10 vers base b
a) Nombres entiers
Ex2: conversion de N(10) = 90 en base 8
Donc
90(10 ) =132 (2 )
9
CH1. Systèmes de Numérations
Représentation des nombres positifs
2) Base 10 vers base b
Pour convertir un nombre fractionnaire de la base 10 vers une autre base, il faut procéder en deux étapes. La partie entière du nombre est convertie comme indiqué précédemment; la partie fractionnaire du nombre est convertie par multiplications successives: on multiplie successivement la partie fractionnaire par la base cible, en retenant les parties entières qui apparaissent au fur et à mesure.
10
CH1. Systèmes de Numérations
Représentation des nombres positifs
2) Base 10 vers base b
Ex1 : conversion de N(10)=12,925 en base 2
• partie entière : 12(10)=1100(2)
• partie fractionnaire :
0,925(10 ) =0,111….(2)
Donc
12,925(10 ) =1100,111(2 )
11
CH1. Systèmes de Numérations
Représentation des nombres positifs
3) Base 2 vers base 2n
12
CH1. Systèmes de Numérations
Représentation des nombres positifs
2) Base 2 vers base 2n
Ex 1 : conversion de N(2 )= 1100111010101 en base 8 puis 16
Base 8: 001 100 111 010 101(2 ) =14725(8 )
Base 16: 0001 1001 1101 0101(2 ) = 19D5(16)
Exemple 2 : conversion de N(2) = 110100110,101101 en base 8 puis 16
Base 8: 110 100 110,101 101(2)= 646,55(8 )
Base 16: 0001 1010 0110,1011 0100 (2 ) =1A6, B4(16)
v
5
2
7
4
1
5
D
9
1
5
5
6
4
6
4
B
6
A
1
13
CH1. Systèmes de Numérations
Représentation des nombres positifs
4) Base 2n vers base 2
Pour la conversion inverse, il suffit de développer chaque symbole de la représentation dans la base 2n sur n bits.
Ex1 : 4A1(16) = 0100 1010 0001 = 010010100001(2 )
Ex2 : 73,15(2 ) = 111 011,001 101= 111011,001101(2 )
Conversion hexadécimal octal:
il faut passer par la base 2
1
A
4
5
1
3
7
14
CH1. Systèmes de Numérations
EXERCICE D’APPLICATION
Convertir les nombres suivants
A= (6,625)10 = ( )2
B= (23, 7)8 = ( )10
C= (0110101, 010)2 = ( )10
D= (13A, 4)16 = ( )10
15
CH1. Systèmes de Numérations
Représentation des nombres signés:
1- Représentation module + signe:
Solution la plus simple : on ajoute un bit à gauche du module pour le signe. Ainsi,
si MSB=0 Nombre positif
si MSB=1 Nombre négatif
Avantage: simple pour afficher un nombre
Inconvénient : on a deux représentations
différentes pour le zéro.
Représentation "module + signe" sur 4 bits
�
16
CH1. Systèmes de Numérations
Extension d’un nombre en représentation "module + signe"
L’extension d’un nombre codé sur n bits à un format sur n+k bits consiste à décaler le bit de signe à la position du MSB et à compléter les autres positions par des 0, que le nombre soit positif ou négatif.
Exemple
8bits 8bits
0110(M+S) 00000110(M+S) 1110(M+S) 10000110(M+S)
+6
-6
17
CH1. Systèmes de Numérations
Représentation des nombres signés:
1- Représentation en complément à 2 ou complément vrai:
- On part de la représentation binaire naturelle de l’opposé arithmétique du nombre à coder
(nombre positif).
- On calcule le complément à 1 (CA1) ou complément restreint. Celui-ci est obtenu en
inversant tous les bits.
- On déduit le complément à 2 (CA2) en ajoutant 1 au niveau du LSB
Exemple : représentation de -125 en CA2 sur un format de 8 bits
�
18
CH1. Systèmes de Numérations
19
CH1. Systèmes de Numérations
Equivalent en décimal d'un nombre écrit en binaire signé:
On travaille en format n bits:
20
CH1. Systèmes de Numérations
Exemple: format de 8 bits
A= (01111001) CBS 🡺 A>0 🡺
B= (10100111)CBS 🡺
Extension d’un nombre codé en CA2
L’extension d’un nombre codé sur n bits à un format sur n+k bits est réalisé comme suit :
21
CH1. Systèmes de Numérations
22
CH1. Systèmes de Numérations
signe | Exposant | Mantisse |
23
CH1. Systèmes de Numérations
Représentation des nombres réels dans un calculateur :
1-Codage en virgule flottante :
Exemple 1bit 4bits 12 bits
Soit la mémoire de taille suivante :
Coder la valeur 26,75 en virgule flottante
Signe | Exposant | Mantisse |
24
CH1. Systèmes de Numérations
Arithmétique binaire:
- L’addition ou somme arithmétique :
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 et on ‘retient’ 1
1 + 1 + 1 = 1 et on ‘retient’ 1
Exemples: 10001 + 0101 =
0111 + 1011 =
25
CH1. Systèmes de Numérations
Arithmétique binaire:
- Soustraction:
Dans la soustraction binaire, on procède comme en décimal. Quand la quantité à
soustraire est supérieure à la quantité dont on soustrait, on emprunte 1 au voisin de
gauche.
En binaire, ce 1 ajoute 2 à la quantité dont on soustrait, tandis qu’en décimal il ajoute
10.
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 = 1 et on ‘emprunt’ 1
Exemple:
0101,0 – 0011,1=
26
CH1. Systèmes de Numérations
Soustraction dans le binaire signé:
On peut utiliser le complément à 2 de la valeur à soustraire puis on additionne. Cela se
passe de cette manière dans les calculateurs.
A – B = A + (- B)
Exemple
00011-01100=
27
CH1. Systèmes de Numérations
Additions dans le code binaire signé:
Exemple :
3 0 0 1 1 0 1 0 1 5
2 + 0 0 1 0 et + 0 1 0 1 5
5 = 0 1 0 1 = 1 0 1 0 -6
Correct Faux car overflow
Donc à chaque opération il faut tester le débordement, c’est pourquoi les microprocesseurs disposent d’un indicateur (ou flag) qui indique s’il y a overflow ou non.
28
CH1. Systèmes de Numérations
Soustraction dans le binaire signé:
On peut utiliser le complément à 2 de la valeur à soustraire puis on additionne. Cela se
passe de cette manière dans les calculateurs.
A – B = A + (- B)
Exemple
00011-01100=
29
CH1. Systèmes de Numérations
Multiplication dans le binaire signé:
On multiplie les nombres binaires de la même façon qu’on multiplie les nombreux décimaux.
Si les nombres à multiplier sont négatifs, ce sont leurs compléments à 2 qui sont pris en
compte avant la multiplication.
Exemple
0101*0010=
La multiplication binaire par 2N, se résume à un décalage de N bits vers la gauche. On
introduira donc à droite N zéro
8*4)10 sur 8 bits = ( )2
30
CH1. Systèmes de Numérations
Division binaire:
La division binaire s’effectue à l’aide de soustractions et de décalages, comme la
division décimale, sauf que les digits du quotient ne peuvent être que 1 ou 0. Le bit du
quotient est 1 si on peut soustraire le diviseur, sinon il est 0.
Exemple
division réelle (1011)2/(100)2 =
division entière (10010000111)2/(1011)2= reste=
La division binaire par 2N, se résume à un décalage de N bits vers la droite. En arithmétique
signée, il faut penser à recopier à gauche le bit de signe autant de fois que nécessaire
8/4)10 sur 8 bits = ( )2 -16/4)10 sur 8 bits = ( )2
31
CH1. Systèmes de Numérations
Classification des codes binaires :
Codage : opération qui établit une correspondance entre un ensemble source (nombre, caractère, symbole) vers un ensemble but contenant des combinaisons de 0 et de 1.
2 familles des codes: Codes pondérés, Codes non pondérés
Codes numériques pondérés
Code binaire pur
Ce code pondéré par des puissances de 2, utilisé en arithmétique binaire.
Code DCB (Décimal Codé Binaire)
chaque chiffre décimal (0, 1, . . . , 9) est codé en binaire avec 4 bits.
Code pondéré avec les poids 1, 2, 4, 8, 10, 20, 40, 80, 100, . . .
Plus facile pour coder des grands nombre, il est surtout utilisé pour l’affichage des nombres.
Ex : 1995(10) =(0001 1001 1001 0101)(BCD) . , 45+33= , 47+35=
32
CH1. Systèmes de Numérations
Classification des codes binaires :
Codes numériques non pondérés
Binaire réfléchi (code Gray)
La propriété principale de ce code est que deux mots successifs du code ne diffèrent que par un élément binaire.
Construction:
on copie les mots du code de départ, précédés d’un 0, suivis des mots du même code, pris dans l’ordre inverse et précédés d’un 1.
Ex : Construire le code gray en 1,2,3,4 bits.
33
CH1. Systèmes de Numérations
Classification des codes binaires :
Codes numériques non pondérés
Code excédent 3 ou excess 3
Il est obtenu en décalant le code binaire pur de trois lignes vers le haut
On remarque que pour ce code si on prend
deux combinaisons symétriques par rapport à l'axe X,
elles sont complémentaires
Avec ce code, toute opération de soustraction se ramène à une addition.
Ex:
(7 − 5)(XS3) =
x
34
CH1. Systèmes de Numérations
Classification des codes binaires :
Codes numériques non pondérés
Les codes alphanumériques ASCII (American Standard Code for Information Interchange)
· 26 caractères pour les lettres minuscules · 26 caractères pour les lettres majuscules
· 10 pour les chiffres décimaux ·30 pour les caractères spéciaux (><%§+_-...)
35
CH1. Systèmes de Numérations
Codes numériques non pondérés
Le code à barre:
Le code à barre qui figure sur la plupart des emballages
des produits de consommation courante est la fiche d’identité du produit.
Le marquage comporte un certain nombre de barres verticales ainsi que 13 chiffres :
- Le 1er chiffre désigne le pays d’origine : 6= Maroc, 3= France, 4= Allemagne, 0 = U.S.A, 7= Canada etc.
- Les cinq suivants sont ceux du code « fabricant »,
- Les six autres sont ceux du code de l’article,
- Le dernier étant une clé de contrôle