Académique Documents
Professionnel Documents
Culture Documents
Objectifs :
A la fin de cette section, l'étudiant sera capable de :
Définition : Coder une information revient à créer une correspondance qui permet sans équivoque
de passer d’une représentation de l’information à coder à une autre représentation de la même
information en respectant un ensemble de règle bien établie. La représentation source est dite
externe et la représentation résultante est dite interne (c’est la représentation binaire).
Exemple :
1
Quand on parle d’Avéoles, sur le plan physique, il s’agit du CD ROM. Le bit 1 correspond à
réflexion et le bit 0 correspond à pas de réflexion.
Quand on parle de Fréquence, il s’agit du Modem. Dans un signal sinusoïdal on note deux
fréquences. La fréquence f1 correspond au bit 1 et la fréquence f2 correspond au bit 0
Les machine numériques utilisent le système binaire pour représenter les informations. Les symboles
0 et 1 sont facile à représenter dans une machine numérique. Ne perdons pas de vue que la machine
numérique est électronique. En fait, le 0 et 1 représente 2 plages de tension. O correspond à la plage
comprise entre 0 et 0,8 volt, et le 1 binaire correspond à la plage située entre 2,8 Volt et 5Volt. La
place de 0,8 à 2,8 est inutilisée.
http://www.informaticinfo.com/computer_fonct_frames_fr.html
http://www.informaticinfo.com/ram_frames_fr.html
http://www.courstechinfo.be/Techno/NumeriqueVsAnalogique.html
Exemple :
• Système binaire (bi: deux), les symboles sont : 0,1. (deux symboles)
• Système octal (oct: huit), les symboles sont : 0,1,2,3,4,5,6,7. (8 symboles)
• Système hexadécimal (hexa: seize), les symboles sont : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
o A =10, B=11, C=12, D=13, E= 14, F=15. (16 symboles)
En fait, on peut utiliser n'importe quel nombre de symboles différents (pas nécessairement des
chiffres). Dans un système de numération : le nombre de symboles distincts est appelé la base du
système de numération.
1. Système décimal
Dans le système décimal toute combinaison des symboles {0, 1, 2, 3, 5, 6, 7, 8, 9} donne un nombre.
Exemple 1 :
5 6749
Soit le nombre réel 1978, 237. Ce nombre réel peut s’écrire aussi sous la forme polynômiale
comme suit :
Pour généraliser, sur n positions, on peut avoir 10n nombres ou code possible. Le plus grand
nombre est 10n-1.
2. Système binaire
En binaire, pour exprimer n’importe quelle valeur, on a besoin d’au max deux symboles : {0, 1}.
Exemple :
Base
( 1 1 0 1 0 )2
= (25, 625)10
3
b) Nombre de code comme fonction du nombre de position
Dans le système binaire, sur une position ou 1 bit, on peut coder deux nombres : 0 et 1.
Soit 21. Le plus grand nombre qu’on peut coder est 21 – 1 soit 1.
Sur deux bit, on peut coder 4 nombres : 00, 01, 10, 11. Le nombre de code possible est égal
à 22. Le plus grand nombre qu’on peut coder est 23 – 1 soit 11.
Sur n bits, on peut coder 2n nombres et le plus grand nombre qu’on peut coder est 2 n – 1.
Comme présenter ci-dessus avec le système de numération décimal et le système binaire, ci-
dessous un exemple d’écriture sous forme polynômiale.
(14756,112)8 = 1*84 + 4*83 + 7*82 + 5*81 + 6*80 + 1*8-1 + 1*8-2 + 2*8-3 = (6638 )10
Le concept de nombre de code comme fonction du nombre de position est idem à celui présenté
ci-dessus.
4. Système hexadécimal (base 16)
Dans le système hexadécimal, on utilise seize (16) symboles différents. Le tableau suivant donne la
correspondance décimal– Hexadécimal des symboles.
4
Les symboles utilisés sont donc : {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Remarques générales
Chaque chiffre hexadécimal correspond à quatre chiffes binaires. Le système Hexadécimal est très
utilisé en électronique numérique et en informatique.
Un fichier enregistré sur un disque sous forme binaire est une suite de 0 et 1 complètement quasi
impossible à lire pour un humain. Pour permettre que ce soit accessible pour l’humain, cette notation
est généralement transformer en hexadécimal.
Résumé
Dans une base B, le nombre de symboles distincts utilisés pour représenter un nombre est B.
Dans une bas B, la valeur de chaque symbole doit être inférieur strictement à B.
Chaque nombre dans une base B peut être écrit sous la forme polynômiale.
Soit N = (x1x2x3….xn)B
Exemple :
(11011)2 = 1*24 + 1*23 + 0*22 + 1*21 + 1*20 = 16 + 8 + 0 + 2 + 1 =(26)10
(2B4)16 = 2*162 + B*161 + 4*160 = 2*162 + 11*161 + 4*160 = 512 + 176 + 4 = (692)10
45 2 22 1
5
22 2 11 0
11 2 5 1
5 2 2 1
2 2 1 0
1 2 0 1
(45)10 = (101101)2
Cas d’un nombre réel ayant une partie fractionnelle
Pour effectuer la conversion en binaire :
42.225 = ( ? )2
0,225 = ( ?)
(0,225) = (0.00111101)2
(42,225)10 = (101010, 01101100)2
6
Le nombre de bits après la virgule va déterminer la précision
Le système octal permet une conversion simple avec le système binaire. On peut facilement
passer du binaire à l’octal et réciproquement.
En octal, chaque symbole de la base s’écrit sur 3 bits en binaire. On remplace chaque symbole dans la
base octal par sa valeur sur 3 bits.
Exemples :
b) Binaire - Hexadécimal
Le système hexadécimal permet une conversion simple avec le système binaire. On peut facilement
passer du binaire à l’hexadécimal et réciproquement.
En hexadécimal, chaque symbole de la base s’écrit sur 4 bits en binaire. On remplace chaque symbole
dans la base hexadécimal par sa valeur sur 4 bits.
Exemples :
NB : Le principe de regroupement est idem qu’en a) mais en groupe de 4 bits à partir du bit
de poids faible.
1. Addition
L’addition binaire commence par la connaissance des sommes élémentaires
suivantes :
7
Exemple
L’addition commence par la droite par la somme des chiffres des unités. Si vous savez
faire l’addition deux deux nombres en base 10 c’est-à-dire en décimal, le procedé est le même. Les
retenus sont 0 ou 1 car on est en base 2.
1 1 1
1 1 0 1 1 1 0
+ 1 0 1 0 1 1
1 0 0 1 1 0 0 1
2. Soustraction
La soustraction binaire commence par la connaissance des soustrations élémentaires
suivantes :
Exemple
La soustraction commence par la droite par la soustraction des chiffres des unités. Si la chiffre
du bas est plus élevé que le chiffre du haut, on emprunte 1 au chiffre qui précède le chiffre
du haut. Le chiffre emprunté est appelé une deuzaine, il vaut 2.
3. Multiplication binaire
8
Exemple
La multiplication binaire suit le même processus que la mulplication en décimal. Mais seulement, il
faut effectuer les additions partielles avant de continuer les multiplications lorsque le nombre du bas
tient sur plus de trois positions. Ceci nous évitera d’additionner plus de trois chiffres à la fin.
4. Division binaire
La division décimale classique est basé sur le principe d'essais successifs. Pour diviser par exemple 13
par 5, il faut d’abord constaté que 9 est plus grand que 5 et se demander combien de fois on a 5 dans
9. En multipliant 5*2, on obtient qui est supérieur à 9 (10>9) . Ce resultat montre que le choix n’est
pas bon. Nous devons recommencer avec 1… Avec la division binaire ce principe d’essais successifs
est plus simple.
Exemple :
Nous avons à gauche la dividante et à droite le diviseur. Nous partons de la gauche de la dividante,
en prenant une serie de chiffres dont on estime que le nombre est plus grand que le diviseur…
9
2.3 Codage des entiers naturels, des entiers realatif et des
caractères.
2.3.1 Codage des entiers naturels
Les entiers naturels sont codés en binaire pur. Les étapes du codage d’un entier
naturel (positif ou nul) en binaire sont les suivantes :
1- L’entier naturel est représenté en base 2
2- Les bits sont rangés suivant leur poids (du poids faible au poids fort)
3- On complète à gauche par les zéro (0).
Exemple : soit à coder sur 1 octet (8 bits), le nombre 13.
Sur un octet,
(13 )10 = (0 0 0 0 1 1 0 1)2
Généralisation
Quel est le nombre de nombre qu’on peut-on représenter en binaire pur sur n bits ?
Sur 2 bit, on peut représenter les nombres suivants : 00, 01, 10, 11 soit 22 = 4
nombres.
Sur 3 bit, on peut représenter les nombres suivants : 000, 001,010, 011,
100,101,110,111 soit 23 = 8 nombres.
On peut démontrer par recurrence que sur n bit on peut réprésenter 2 n nombre.
Quel est le plus grand entier naturel qu’on peut coder c’est 2 n – 1.
Exemple : sur 16 bits on peut coder 0 à 216 - 1 = 65 535
10
2.3.2 Codage des entiers relatifs
Il existe trois type de codage pour les entiers relatifs : le codage binaire signé, le codage en
complément à 1, le codage en complément à 2.
1. Codage binaire signé dit par signe et valeur absolue
Dans ce type de codage, le bit le plus à gauche dit le plus significatif est utilisé
pour représenter le signe du nombre.
o Si le bit le plus significatif est 1 alors le nombre est négatif
o Si le bit le plus significatif est 0 alors le nombre est positif
Les autres bits codes la valeur absolue du nombre
Exemple : Codage du nombre entier relatif N = -35 sur 8 bits
Le bit de signe est 1
Généralisation
Quel est le nombre de nombre qu’on peut-on représenter en binaire signé sur n
bits ?
Sur 2 bit, on peut représenter les nombres suivants : 10, 11, 00 et 01. Il s’agit des
nombre -1, -0, +0 et +1 soit de -1 à +1.
Sur 3 bit, on peut représenter les nombres suivants : 111, 110, 101, 100, 000,
001,010, 011. Il s’agit des nombres -3,-2, -1, -0, +0, +1, +2, +3 soit de -3 à + 3
On peut démontrer par recurrence que sur n bit on peut réprésenter les nombres
allant de -(2n-1 -1) à +(2n-1 – 1).
Le plus grand entier relatif qu’on peut coder c’est +(2n-1 – 1).
Le plus petit entier relatif qu’on peut coder est –(2n-1- 1)
Exemple : sur 16 bits on peut coder – (216-1 – 1) à + (216-1 – 1) soit -32 768 à +32 768
Limitation
o Zero a deux representations de zero différents (+0 différent de -0 )
Par exemple sur 8 bits + 0 = 0 0 0 0 0 0 0 0 et -0 = 1 0 0 0 0 0 0 0
o Les additions et multiplications ne sont pas évidentes
2. Codage en complément à 1
Généralités
On code les nombre positif de la même façon qu’en binaire pur.
Le bit le plus significatif est le bit de signe, il vaut 1 pour un nombre négatif et 0
pour un nombre positif.
Pour coder un nombre négatif, on inverse les bits du code de sa valeur absolue qui
est un nombre positif.
Exemple : le codage de -35 en complément à 1 sur 8 bits.
11
|-35| vaut 0 1 0 0 0 1 1, en inversant les bits on obtient 1 0 1 1 1 0 0. Le bit de signe
est bien 1.
+ 0 sur 8 bits vaut 0 0 0 0 0 0 0 0
-0 sur 8 bit vaut 1 1 1 1 1 1 1 1
Limitations
o Zero a deux representations de zero différents (+0 différent de -0 )
o Les additions et multiplications ne sont pas évidentes
3. Codage en complément à 2 ou complément vrai (CV)
oEn complément à 2, les nombres positifs sont codés de la même manière qu’en
binaire pur. Le bit de signe est le bit le plus significatif : il vaut 0 pour un nombre
positif et 1 pour un nombre négatif.
o Pour coder un nombre négatif, on ajoute 1 à son complément à 1.
Exemple :
Généralisation
Comment un ordinateur lit du texte ? Il existe plusieurs encodage pour rendre cela possible. En effet, dans les
années 60, les ordinateurs utilisaient très peu de caractères, environ 62 symboles différents, en général c'était les
majuscules : A - Z, les chiffre de 0...9, et les caractères comme . , ; % $. Cet ensemble de caractères pouvaient se
coder sur 6 bits dont 26 codes possibles. En suite, on a ajout les minuscules, ce qui a fait qu'on passe à 7 bits, qui
marque la naissance l’ASCII (American Standard Code for Information Interchange) . Mais pour avoir un codage
qui tient sur un nombre de bits multiple de 2 on a étendu le codage à 8 bits. le 8ième bit doit servir comme bit de
parité lorsqu'on effectue la transmission. On parlera alors l’ASCII étendu.
Dans les années 80, la standardisation informatique voit le jour. Certains pays ne vont pas trouver leur intérêt dans
ce système de codage qui ne leur permet pas de coder les caractères relatifs à leurs langues. On a va donc se poser
la question de savoir quel jeux de caractère peut permettre le codage de tout type de caractère quelque soit la
langue ? Pour que ceci soit possible, il faut dépasser le cadre des 8 bits. Ceci va donner naissance à la norme
UNICODE dont l’objectif est de permettre de coder tout type de caractère dans n’importe quel langue.
L'UNICODE a formalisé la notion de caractère, ce qui a fortement impacté les langages de programmation, en
offrant la possibilité d'écrire des programmes dans plusieurs autres langues. Un caractère est défini comme un
concept abstrait qui est caractérisé par un nom et un numéro.
Par exemple "a" en minuscule est caractérisé son nom, la lettre a et son numéro = 97. Le caractère a une
représentation graphique. Par rapport l’exemple sur le caractère a, cette représentation graphique est la forme de
a (ou la formation de la lettre en écriture). Cette représentation est appelée grife. Le graphique peut changer suivant
12
la police de caractère. Un caractère peut donc avoir plusieurs grife (en gras, time new roman, italique,...). Et aussi
les caractères peuvent être codé sous forme d'octet. Ainsi, on peut associer à une séquence d'octets, une séquence
de caractères. Il existe plusieurs façons de coder les caractères. Par exemple on peut utiliser de l'UTF-8 (codage à
taille variable). Le codage se resume en la création des tables de code :
97 à 122 permettent de représenter dans l’ordre, les lettres de l’alphabet en minuscule (a..z)
8 bits est utilisé pour représenter 256 caractères : 0 à 255 numéros possibles
En UNICODE
2 octets (16 bits) sont utilisés pour représenter 65 536 caractères : 0 à 65 535 numéros possibles
13
1 octet pour coder les caractères de 0 à 127, le bit de poid fort est fixé à 0
2 octets pour coder les caractères de 128 à 2047, les trois premiers bits du premer octet sont fixés à 110, et les
deux premiers bits du deuxième octet sont fixés à 10. Le reste de bit soit 5 + 6 =11 permette de coder les
caractères.
3 octets pour coder les caractères de 2048 à 65 535. Les quatre premiers bits du premier octets sont fixés à
1110, les les deux premier bits des deux octets suivants sont fixés à 10. Le reste reservé pour le codage des
caractères soit 4 + 6 + 6 = 16.
4 octets pour coder les caractères de 65 536 à 1.112.064. Les cinq premiers bits du premier octets sont fixés à
11110, les les deux premier bits des trois octets suivants sont fixés à 10. Le reste est reservé pour le codage des
caractères soit 3+ 6 + 6 + 6= 21.
Les premières machines ont utilisés la virgule fixe pour représenter les réels.
Virgule fixe :
Possède une partie entière et une partie décimale séparés par une virgule. La position de la
virgule est fixe. Connaissant la position de la virgule, on détermine exactement le nombre.
Par exemple, sur 1 octet, si on fixe la position de la virgule juste après le cinquième bit,
10111011 =10111,011. Avec cette représentation, on perd un espace de stockage significatif.
Ce type de représentation des réels est utilisé sur les processeurs à faible coût comme les
microcontôleur. Par ailleurs la virgule fixe permet dans certaines circonstances d’augmenter
la vitesse d’exécution ou d’améliorer l’exactitude des calculs.
Exemple de nombre en virgule fixe :
52,15(10) ; 10011,101(2) ; A1,B02(16)
En virgule flottante :
la position de la virgule est dynamique. Il vient resoudre le problème de gaspillage d’espace généré
par la virgule fixe. En virgule flottante un nombre est représenté de la façon suivante :
o Signe : + ou –
o Mantisse en virgule fixe, la position de la virgule est fixé dans la mantisse.
o L’exposant e en entier relatif
o Une base (2,8,10, 16…)
Pour une même taille de stockage de quatre chiffres, il est possible de stocker 1423 comme 1,423 ou
0,1423. On indique tout simplement grâce à l’exposant, où se situe la virgule.
Exemple :
14
N = an-1an-2an-3…a2a1a0a-1a-2…a-p(b)
an-1 est la chiffre de poids fort
Soit N = 110, 101 en base 2, la transformation de N en base 10 se présente ainsi qu’il suit :
= 6, 625
6(10) = 1 1 0 (2)
On donne l’écriture en base 10 de la partie décimale 0,625 en suivant les étapes déjà présentés dans
la conversion plus haut.
0,625 x 2 = 1, 25
0,25 x 2 = 0, 50
0,50 x 2 = 1, 00
0, 625(10) = 0, 1 0 1 (2)
X =±𝑀. 2𝐸
M est la mantisse en virgule fixe et E esgt l’exposant signé.
15
110, 1012 = 1,10101x 22
= 11010,1 x 2-2 (2)
0 pour le signe +
1 pour le signe –
Il est codé sur p bits et biaisé pour être positif, on ajoute 2𝑝−1 − 1
La mantisse M normalisé : la virgule est placée après le bit 1 ayant le poids fort. Elle est
codée sur q bits.
SM Eb Mantissa
1 bit P bits q bits
n = 1 + p + q.
Soit à représenter la nombre N = 110, 101 virghule fixe en virgule flottante. Il est à noté déjà
que 110 ,101 se transformera en 1,10101 x 22 . La mantisse est 10101.
16