Vous êtes sur la page 1sur 16

Chapitre 2 : Représentation de l’information

Objectifs :
A la fin de cette section, l'étudiant sera capable de :

1-énumerer les symboles d'un système de numération,

2- effectuer le développement polynomial d'un nombre dans un système de numération,

3- effectuer la conversion d'un nombre d'un système de numération à un autre,

4- effectuer les operations d'addition, de soustration, de division et de multiplication dans


un système de numération,

5-décrire donnée le système utilisé dans le dispositif numérique.

6-donner et décrire les formats de représentation des nombres réels,

7-coder un nombre en virgule fixe,

8-coder un nombre en virgule flottante,

2.1 Codage de l’information


2.1.1 Généralités
L’ordinateur traite les informations de natures diverses : des nombres, du texte, des sons, des images,
des vidéos, des programmes etc. Ces informations sont codées en machine sous forme binaire, suite
de 0 et 1. Concept de 0 et 1 correspond à deux états physiques, fonction du support de stockage de
l’information comme nous le verrons par la suite.

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 :

* Le nombre 20 : 20 est la représentation externe du nombre vingt

* La représentation interne de 20 sera une suite de 0 et 1 ( 10100 )

Le codage de l’information en informatique, s’effectue principalement en trois étapes :

 L’information est exprimée par une suite de nombres (Numérisation)


 Chaque nombre est codé sous forme binaire (suite de 0 et 1)
 Chaque élément binaire est représenté par un état physique

2.1.2 Elément binaire et Etat physique


 Quand on parle de charge électrique, sur le plan physique, il s’agit de la RAM (Condensateur-
transistor). Le bit 1 correspond à l’état chargé et le bit 0 correspond à l’état non chargé.
 Quand on parle de Magnétisation, sur le plan physique, il s’agit des disques (dur, disquette…).
Le bit 1 correspond à la polarisation Nord et le bit 0 correspond à la polarisation Sud.

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.

Consulter les liens suivants pour plus d’information :

http://www.informaticinfo.com/computer_fonct_frames_fr.html
http://www.informaticinfo.com/ram_frames_fr.html
http://www.courstechinfo.be/Techno/NumeriqueVsAnalogique.html

2.2 Système de numération et représentation des nombres


2.2.1 Enumération des symboles d’un système de numération
Nous représentons très souvent les nombres en utilisant dix symboles différents : 0 , 1 , 2 , 3 , 4 , 5 , 6,
7 , 8 , 9. Ce système est appelé système décimal (déci signifie dix). Il existe cependant d'autres formes
de numération qui fonctionnent en utilisant un nombre de symboles distincts.

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.

2.2.2 Développement polynômial d’un nombre dans un 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

Poids fort Poids


faible
Exemple 2 :
172 , 43

Partie entière Partie Fractionnelle


2
a) Développement en polynôme d’un nombre dans le système décimal
Soit le nombre 1978, ce nombre peut être écrit sous la forme suivante :

1978 = 1000 + 900 + 70 + 8

1978 = 1* 1000 + 9 * 100 + 7*10 + 8 * 1

1978 = 1*103 + 9*102 + 7*101 + 8 * 100

Cette forme s’appelle la forme polynômiale.

Soit le nombre réel 1978, 237. Ce nombre réel peut s’écrire aussi sous la forme polynômiale
comme suit :

1978,237 = 1*103 + 9*102 + 7*101 + 8 * 100 + 2*10-1+3*10-2 + 7*10-3

b) Nombre de code comme fonction du nombre de position


o
Sur une seule position, on peut avoir dans le système décimal 10 nombres ou codes
possibles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 = 101
o Le plus grand nombre est 101 – 1 = 9
o Sur deux positions les codes possibles sont : 00, 01, 02, …, 99 = 102
o Le plus grand nombre est 102-1 soit 99.
o Sur trois positions les codes sont : 000, 001, …., 999 = 103 -1

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

Bit de Poids fort Bit de Poids faible

a) Développement en polynôme d’un nombre dans le système binaire


Un nombre dans le système binaire peut aussi s’écrire sous la forme polynomiale. Ainsi, soit le
nombre 1 1 0 1 1, son écriture sous la forme polynomial est :

(11001)2 = 1*24 + 1*23 + 0*22 + 0*21 + 1*20 = (25)10

(11001,101)2 =1*24 + 1*23 + 0*22 + 1*21 + 1*20 + 1*2-1 + 0*2-2 + 1*2-3

= (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.

3. Le système Octal (Base 8)

En octal, 8 symbole sont utilisés : {0,1,2,3,4,5,6,7} .


Par exemple :
(547)8 a un sens par contre (1486)8 n’a pas de sens. Car le symbole 8 ne fait pas partie des
symbole utilisés.

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)8 = 1*84 + 4*83 + 7*82 + 5*81 + 6*80 = ( 6638 )10

 (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.

Décimal Hexadécimal Octal Binaire


0 0 0 0000
1 1 1 0001
2 2 2 0010
3 3 3 0011
4 4 4 0100
5 5 5 0101
6 6 6 0110
7 7 7 0111
8 8 10 1000
9 9 11 1011
10 A 12 1010
11 B 13 1011
12 C 14 1100
13 D 15 1101
14 E 16 1110
15 F 17 1111

4
Les symboles utilisés sont donc : {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

(28)16 = 2*161 + 8*160

(AE)16 = A*161 + E*160 = 10*161 + 14*160

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.

2.2.3 conversion d’une base B à la base 10 vis versa

1. Conversion de la base B à la base 10


Il suffit de donner une écriture polynômiale de ce nombre dans la base B puis de faire la somme.

Soit N = (x1x2x3….xn)B

N = x1Bn + x2Bn-1+ ...+xn-1B1 + xnB0

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

(44,12)5 = 4*51 + 3 *50 + 1*5-1 + 2*5-2 = (21,24)10

2. Conversion de la base 10 à la base B


 Cas d’un nombre entier
La conversion de 10 à la base b consiste à effectuer des divisions successives du nombre par B, et de
prendre le reste des divisions dans l’ordre inverse.

Exemple : conversion du nombre (45)10 en base 2

Dévidant Diviseur Quotient Reste

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 :

 On transforme la partie entière en effectuant les divisions successives (voir cas


précédent)
 On transforme la partie fractionnelle :
o On effectue la multiplication par 2 de la partie fractionnelle et on retient la partie
entière du resultat obtenu puis on reprend le même processus avec le resultat
obtenu, ainsi de suite. On peut s’arrêter lorsqu’on arrive à un cycle c’est-à-dire
lorsqu’apparait une deuxière fois un résultat déjà obtenu ou lorsqu’on arrive pas
avoir un cycle au bout d’un nombre élevé de multiplication.

Exemple : Conversion du réel 42,255 en binaire

42.225 = ( ? )2

Partie entière = 42 = (101010)2


5 4 3 2 1 0
En effet : 4 2 = 1x 2 + 0x2 + 1x2 + 0x2 + 1x2 + 0x2

Partie Fractionnelle = 0,225 = ( ?)

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

3. Conversion d’une base b1 à une base b2


Pour passer d’une base b1 à la base b2, on converti le nombre de la base b1 à la base 10 puis
de la base 10 à la base b2.

4. Conversion : Binaire, Octal et Hexa


a) Binaire – Octal

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 :

(427)8 = (100 010 111)2


(25,67)8 = (010 101, 110 111)2
NB : le regroupement se fait de la droite vers la gauche pour la partie entière et de la gauche vers
la droite pour la partie fractionnelle.

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 :

(427)8 = (0100 0010 0111)2

(25,67)8 = (0100 0101, 0110 0111)2

NB : Le principe de regroupement est idem qu’en a) mais en groupe de 4 bits à partir du bit
de poids faible.

2.2.4 Opération arithmétique en binaire

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

La multiplication binaire commence par la connaissance des multiplications


élémentaires suivantes :

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

|-35| en base 2 = 1x25 + 0x24 + 0x23 + 0x22 + 1x21 + 1x20


=100011

Le code en binaire signé est : 1 1 0 0 0 1 1


1 1 0 0 0 1 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 :

|-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.
-35 en complément à 1 vaut : 1 0 1 1 1 0 0.
En complément à 2 c’est 1 0 1 1 1 0 1 + 1 = 1 0 1 1 1 1 0
+ 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 + 1 = 0 0 0 0 0 0 0 0
Un seul codage pour Zero (0)

Généralisation

Sur 3 bits les nombres qu’on peut coder sont :

Avec n bits on peut coder les nombre de –(2n-1) à (2n-1 - 1)

2.3.4 Codage des caractères


Historique

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 :

En ASCII simple c’est-à-dire sur 7 bits :

7 bits correspond à 128 caractères : 0 à 128 numéro possible

Les codes sont les suivants :

48 à 57 permettent de représenter dans l’ordre, les chiffres de 0 à 9.

65 à 90 permettent de représenter dans l’ordre, les lettres de A à Z.

97 à 122 permettent de représenter dans l’ordre, les lettres de l’alphabet en minuscule (a..z)

Voir la table ascii suivante.

En ASCII Etendu c’est-à-dire sur 8 bits :

8 bits est utilisé pour représenter 256 caractères : 0 à 255 numéros possibles

Il est compatible ASCII simple

Code en plus les caractères accentués : é, è, â, …

En UNICODE

2 octets (16 bits) sont utilisés pour représenter 65 536 caractères : 0 à 65 535 numéros possibles

Compatible ASCII Etendu : aujourd’hui on défini environ 50 000 caractères

Code en plus les caractères de plusieurs langues ; Japonais, Chinois, Arabe, …

UTF-8 – Encodage dynamique

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.

2.4 Codage des nombres réels.


2.4.1 Format de représentation des réels
Il existe deux formats de représentation des nombres réels : la virgule fixe et la virgule flottante.

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 :

Signe x mantisse x base exposant ,

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 :

0.523 x 102 (10) ; 10,1x2-3(2)


2.4.2 codage d’un nombre en virgule fixe.
Soit N un nombre, et b une base. N est représenté en virgule fixe par :

14
N = an-1an-2an-3…a2a1a0a-1a-2…a-p(b)
an-1 est la chiffre de poids fort

a-p est le chiffre de poids faible

n chiffres avant la virgule et p chiffres après la virgule.

En base 10, il faut donner une écriture polynômiale de N.


N = an-1bn-1 + an-2bn-2…+a1b1 + a0b0 + a-1b-1+a-2b-2 + a-pb-p
Exemple :

Soit N = 110, 101 en base 2, la transformation de N en base 10 se présente ainsi qu’il suit :

N= 1x22 + 1x21+0x20 + 1x2-1+0x2-2 + 1x2-3


=4 +2 + 0 + 0,5 + 0,125

= 6, 625

Passage de la base 10 à la base 2.

Prenons N = 6, 625 en base 10 pour passer en base 2 :

On donne d’abord l’écriture en base 2 de la partie entière qui est 6 :

6 = 4 + 2 = 22 +21 =1x22 + 1x21 + 0x20

6(10) = 1 1 0 (2)

On peut l’obtenir par division successve comme présenter plus haut

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)

Donc 6, 625 base 10 vaut 110, 101 base 2

2.4.3 codage d’un nombre en virgule flottante.

Un nombre X en virgule flottante s’écrit ainsi qu’il suit :

X =±𝑀. 2𝐸
M est la mantisse en virgule fixe et E esgt l’exposant signé.

Coder X au format virgule flottante revient à coder le signe, la mantisse et l’exposant.

Exemple : Soit à coder N = 6, 625

En virgule fixe 6,625 base 10 vaut 110,101 en base 2.

15
110, 1012 = 1,10101x 22
= 11010,1 x 2-2 (2)

Notation normalisé : X =±1, 𝑀. 2𝐸𝑏

NB ; En flottant binaire, la partie entière est toujour égale à 1.

Le signe est codé sur 1 bit, le bit de poids fort.

0 pour le signe +

1 pour le signe –

L’exposant biaisé (Eb) :

Il est placé avant la mantisse

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.

Sur n bits, on a la forme suivante :

SM Eb Mantissa
1 bit P bits q bits

n = 1 + p + q.

Dans la norme IEEE 754, n = 32, p = 8 et q = 23

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

Vous aimerez peut-être aussi