Vous êtes sur la page 1sur 20

Lycée polyvalent DIDEROT Département IRIS

61, rue David d’Angers


75019 PARIS
http://www.diderot.org

COURS
Codage des données
Comprendre la manière dont l'information est stockée en machine
Auteur Version - Date Nom du fichier
G. VALET Version 1.1 - Sept 2009 cours-codage-donnees.docx
Après quelques rappels de numération effectués, ce cours vous permettra de comprendre la manière dont sont
codées les informations en binaire en machine
COURS Codage des données Version 1.1 - Sept 2009

Chapitre 1 : Sommaire

CHAPITRE 1 : SOMMAIRE ...................................................................................................................................................... 1-2


CHAPITRE 2 : INTRODUCTION ............................................................................................................................................... 2-3
CHAPITRE 3 : REPRESENTATION NUMERIQUE ....................................................................................................................... 3-4
A. NUMERATION ........................................................................................................................................................................... 3-4
A.1. Rappels ......................................................................................................................................................................... 3-4
a. Représentation binaire ................................................................................................................................................................... 3-4
b. Les bases ......................................................................................................................................................................................... 3-5
c. Un bit ............................................................................................................................................................................................... 3-5
d. Un octet .......................................................................................................................................................................................... 3-5
e. Le poids fort et faible ...................................................................................................................................................................... 3-6
A.2. Expression d’un nombre entier ..................................................................................................................................... 3-7
a. Exemple de la base 2 ....................................................................................................................................................................... 3-7
b. Exemple de la base 10..................................................................................................................................................................... 3-7
c. Exemple de la base 16 ..................................................................................................................................................................... 3-7
A.3. Passage de la base 10 à la base 2 ................................................................................................................................. 3-8
a. Méthode des divisions par 2 ........................................................................................................................................................... 3-8
b. Méthode de reconnaissance des puissances de 2 .......................................................................................................................... 3-8
A.4. Passage de la base 16 à la base 2 ................................................................................................................................. 3-8
a. Démonstration ................................................................................................................................................................................ 3-8
b. Exemple .......................................................................................................................................................................................... 3-9
A.5. Expression d’un nombre fractionnaire .......................................................................................................................... 3-9
a. Conversion en décimal .................................................................................................................................................................... 3-9
b. Conversion en binaire ..................................................................................................................................................................... 3-9
CHAPITRE 4 : CODAGE DES DONNEES .................................................................................................................................. 4-11
A. CODAGE DES ENTIERS ............................................................................................................................................................... 4-11
A.1. Entiers naturels ........................................................................................................................................................... 4-11
A.2. Entiers relatifs ............................................................................................................................................................. 4-11
a. Principe ......................................................................................................................................................................................... 4-11
b. Complément à 1 ............................................................................................................................................................................ 4-12
c. Complément à 2 ............................................................................................................................................................................ 4-12
d. Quelques exemples ....................................................................................................................................................................... 4-12
B. CODAGE DES NOMBRES REELS .................................................................................................................................................... 4-13
B.1. Introduction ................................................................................................................................................................ 4-13
B.2. Principe ....................................................................................................................................................................... 4-13
a. Notation standard ......................................................................................................................................................................... 4-13
b. Remarques .................................................................................................................................................................................... 4-14
B.3. Représentation en « virgule flottante » ...................................................................................................................... 4-14
a. Simple précision ............................................................................................................................................................................ 4-14
b. Double précision ........................................................................................................................................................................... 4-15
c. Généralisation ............................................................................................................................................................................... 4-15
d. Conversion hexadécimal vers décimal : ........................................................................................................................................ 4-15
e. Conversion décimale vers hexadécimal ........................................................................................................................................ 4-16
C. CODAGE DES CARACTERES ALPHANUMERIQUES .............................................................................................................................. 4-17
C.1. La norme ASCII ............................................................................................................................................................ 4-17
C.2. La norme ASCII étendue .............................................................................................................................................. 4-17
C.3. Unicode ....................................................................................................................................................................... 4-17
CHAPITRE 5 : ANNEXES ....................................................................................................................................................... 5-18
A. CODES ASCII .......................................................................................................................................................................... 5-18
A.1. ASCII standard ............................................................................................................................................................ 5-18
A.2. Code ASCII étendu ....................................................................................................................................................... 5-20

Codage des données - G. VALET – Reproduction interdite 2 / 20


COURS Codage des données Version 1.1 - Sept 2009

Chapitre 2 : Introduction
D'une façon générale, il y a trois types d'informations à coder en machine :
 les informations de type numérique,
 les informations de type alphanumérique,
 les instructions, c’est-à-dire les ordres que l'on donne au microprocesseur pour exécuter le
programme.

On appelle codage d’une donnée, la manière dont elle est décrite sous une forme compréhensible par la
machine, c'est-à-dire sous forme binaire. L’ordinateur ne pourra traiter et stocker les données que sous
cette forme. Il a donc fallu inventer une représentation binaire des données

La représentation d’un nombre sous forme binaire en vue de son traitement informatique impose que
celui-ci soit codé sur un nombre de bits prédéfini. En fonction de la taille des nombres à traiter, le nombre
de bits imposera certaines limitations.

Par exemple, un entier non signé codé sur 8 bits se limitera à 28 = 256 possibilités soit un entier dont la
valeur ne pourra excéder 255 (Le « zéro » est lui aussi pris en compte).

Codage des données - G. VALET – Reproduction interdite 3 / 20


COURS Codage des données Version 1.1 - Sept 2009

Chapitre 3 : Représentation numérique


Il s'agit de représenter les nombres entiers et les nombres réels.

A. Numération
A.1. Rappels
a. Représentation binaire
Rappelons, que dans un système informatique, une information élémentaire est représentée par un
élément binaire appelé bit. Le bit est donc l'unité d'information, qui a deux états, par exemple 0,1; Vrai,
Faux, etc.

Pour n bits, nous avons 2n représentations. Ce qui donne le tableau suivant pour n<4:

N 1 2 3 4
Nombre de repr. 21 = 2 22 = 4 23 = 8 24 = 16
Représentations 0 00 000 0000
1 01 001 0001
10 010 0010
11 011 0011
100 0100
101 0101
110 0110
111 0111
1000
1001
1010
1011
1100
1101
1110
1111

Codage des données - G. VALET – Reproduction interdite 4 / 20


COURS Codage des données Version 1.1 - Sept 2009

b. Les bases
Voici également le tableau récapitulatif des 16 premiers nombres et leurs diverses représentations dans
les bases les plus utilisées :

Décimale (10) Binaire (2) Octale (8) Hexadécimale (16)


0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

c. Un bit
C’est le plus petit élément numérique pouvant prendre 2 valeurs : 0 ou 1. Ce terme est repris dans la
définition d’un système informatisé pour spécifier le nombre d’éléments numériques (bits) pouvant être
traité simultanément (Système 32,64 ou 128 bits)

d. Un octet
Souvent rassemblés par paquet de 8 bits, l’octet symbolise un nombre binaire. Un système 32 bits est
capable de traiter 4 octets simultanément. Le bit de poids fort est toujours situé à gauche et le bit de
poids faible à droite. Le nombre se lit de gauche à droite :
Bit de poids fort Un bit Bit de poids faible

0 1 1 0 1 0 1 1

Un quartet Un quartet

Un octet

Représentation d’un octet

Les systèmes informatiques ne sont pas capables de traiter autre chose que des nombres binaires. Par
exemple, une adresse IP (ex : 192.168.0.1) sera stockée dans un ordinateur sous la forme de 4 octets de 8
bits chacun.

Codage des données - G. VALET – Reproduction interdite 5 / 20


COURS Codage des données Version 1.1 - Sept 2009

e. Le poids fort et faible


La notion de poids est très employée dans le jargon informatique. Il s’agit tout simplement de donner un
poids à chaque chiffre d’un nombre. Ce nombre peut être représenté en binaire ou en décimal ou en tout
autre base numérique. Si nous prenons l’exemple d’un nombre décimal :

Chiffre de poids fort


Chiffre de poids faible

3 1 7

Dans cet exemple, augmenter de 1 le chiffre des centaines à pour conséquence d’incrémenter de 100 le
nombre lui-même, alors qu’augmenter de 1 le chiffre des dizaines renvient à incrémenter de 10. On voit
bien que chaque chiffre n’a pas le même poids par rapport au nombre représenté.

Le poids fort est donc le chiffre le plus à gauche qui, s’il est changé, provoquera une modification plus
importante quant au nombre représenté que tous les autres situés plus à droite. Il s’agit donc du chiffre
le plus significatif.

A l’inverse, le poids faible d’un nombre est celui qui est le moins significatif.

La valeur du poids dépend de la base numérique dans laquelle est représentée le nombre. Cette valeur
suit la règle suivante où x est égal à la base numérique :

𝑝𝑜𝑖𝑑𝑠 = 𝑏𝑎𝑠𝑒 𝑟𝑎𝑛𝑔 −1

(base = 10 pour décimal, base=2 pour binaire, base=16 pour hexadécimale)

Par exemple, pour le nombre décimal suivant :

Rang : 3 2 1

3 5 8

100 10 1 poids  10 rang 1

Nous pouvons écrire : 3 10  5 101  8 100  300  50  8  358


2

Codage des données - G. VALET – Reproduction interdite 6 / 20


COURS Codage des données Version 1.1 - Sept 2009

A.2. Expression d’un nombre entier


Un nombre entier N peut être représenté par :

𝑁 = 𝑎𝑛 × 𝑏 𝑛 + ⋯ + 𝑎3 × 𝑏 3 + 𝑎2 × 𝑏 2 + 𝑎1 × 𝑏1 + 𝑎0 × 𝑏 0

où :
 b est la base de la représentation (2 pour binaire, 10 pour décimal ou 16 pour hexadécimal )
 an : Le chiffre de poids n constitué de l’un des symboles disponibles dans la base b (0 et 1 pour le
binaire, 0..9 pour le décimal, etc..)

On peut généraliser :
𝑛

𝑁= 𝑎𝑖 × 𝑏 𝑖
𝑖=0

a. Exemple de la base 2
En base 2, il existe deux symboles : 0 et 1

Le nombre binaire 1011001 donnera en décimal :

𝑁 = 1 × 26 + 0 × 25 + 1 × 24 + 1 × 23 + 0 × 22 + 0 × 21 + 1 × 20 = 89

b. Exemple de la base 10
En base 10, il existe 10 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Le nombre décimal 78 donnera :

𝑁 = 7 × 101 + 8 × 100 = 78

c. Exemple de la base 16
En base 16, il existe 16 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Le nombre hexadécimal 6A1E donnera :

𝑁 = 6 × 163 + 10 × 162 + 1 × 161 + 14 × 160 = 24576 + 2560 + 16 + 14 = 27166

Codage des données - G. VALET – Reproduction interdite 7 / 20


COURS Codage des données Version 1.1 - Sept 2009

A.3. Passage de la base 10 à la base 2


a. Méthode des divisions par 2
Le nombre N peut être représenté en base 2 en divisant successivement N par 2. Le reste de ces divisions
successives forme la représentation binaire du nombre.

Exemple pour N=397

397 2
1 198 2
0 99 2
1 49 2
1 24 2
0 12 2
0 6 2
0 3 2
1 1

b. Méthode de reconnaissance des puissances de 2


Cette méthode consiste, pour des nombres de taille raisonnable, à exprimer, par reconnaissance, les les
puissances de 2.

Exemple avec 144 :

Représentation décimale Aide à la conversion


7 6
2 2 25 24 23 22 21 20
128 64 32 16 8 4 2 1
145 1 0 0 1 0 0 0 1

A.4. Passage de la base 16 à la base 2


a. Démonstration
En écrivant les représentations numériques d’un entier dans les 2 bases, on obtient :

𝑁2 = ⋯ + 𝑎7 × 27 + 𝑎6 × 26 + 𝑎5 × 25 + 𝑎4 × 24 + 𝑎3 × 23 + 𝑎2 × 22 + 𝑎1 × 21 + 𝑎0 × 20

En factorisant par 24 on obtient :

𝑁2 = … + 24 × 𝑎7 × 23 + 𝑎6 × 22 + 𝑎5 × 2 + 𝑎4 + 𝑎3 × 23 + 𝑎2 × 22 + 𝑎1 × 21 + 𝑎0

Codage des données - G. VALET – Reproduction interdite 8 / 20


COURS Codage des données Version 1.1 - Sept 2009

L’écriture de N en base 16 donne ceci :

𝑁16 = 𝑎′ 𝑛 × 16𝑛 + ⋯ + 𝑎′ 1 × 161 + 𝑎′ 0

Par équivalence, on obtient :


𝑎1′ = 𝑎7 × 23 + 𝑎6 × 22 + 𝑎5 × 2 + 𝑎4
𝑎0′ = 𝑎3 × 23 + 𝑎2 × 22 + 𝑎1 × 21 + 𝑎0

On voit qu’en regroupant les chiffres binaires par 4, on obtient l’équivalence en hexadécimal.

b. Exemple
En regroupant les chiffres binaires par 4, on obtient :

N16 = 8 6 A
N2 = 1000 0110 1010

Donc (86A)16 = (100001101010)2

A.5. Expression d’un nombre fractionnaire


D'une façon générale, un nombre fractionnaire dans une base peut se représenter sous la forme :

𝑋 = 𝑎1 × 𝑏 −1 + 𝑎2 × 𝑏 −2 + 𝑎3 × 𝑏 −3 + ⋯ + 𝑎𝑛 × 𝑏 −𝑛
Où :
 b : Base
 ai : Symboles de la base appartenant à l’ensemble 0,1, … , 𝑏 − 1

Par exemple :

0,375 10 = 3 × 10−1 + 7 × 10−2 + 5 × 10−3

0,10111001 2 = 1 × 2−1 + 0 × 2−2 + 1 × 2−3 + 1 × 2−4 + 1 × 2−5 + 0 × 2−6 + 0 × 2−7 + 1 × 2−8

a. Conversion en décimal
Pour calculer ce nombre en décimal, il suffit de connaître les valeurs décimales des puissances négatives
de 2 :

(0,10111001)2 = 0.5 + 0.125 + 0.0625 + 0.03125 + 0.00390625 = 0.72265625 10

b. Conversion en binaire
La conversion d’un nombre fractionnaire en binaire est un peu plus délicate. La précision du résultat
dépend du nombre de bits réservé au codage du nombre.

Codage des données - G. VALET – Reproduction interdite 9 / 20


COURS Codage des données Version 1.1 - Sept 2009

Rappelons l’expression générale suivante :

𝑋 = 𝑎1 × 𝑏 −1 + 𝑎2 × 𝑏 −2 + 𝑎3 × 𝑏 −3 + ⋯ + 𝑎𝑛 × 𝑏 −𝑛

Pour la base 2 en particulier :


𝑋 = 𝑎1 × 2−1 + 𝑎2 × 2−2 + 𝑎3 × 2−3 + ⋯ + 𝑎𝑛 × 2−𝑛

Pour connaître les différents termes ai, il faut multiplier par 2 jusqu’à ce que la partie fractionnaire soit
nulle. Soit par exemple pour convertir 0.72145 en binaire :

Résultat Valeur du bit


0.72145 x 2 = 1.44290 a1= 1
0.44290 x 2 = 0.88580 a2= 0
0.88580 x 2 = 1.77160 a3 = 1
0.77160 x 2 = 1.54320 a4 = 1
0.54320 x 2 = 1.08640 a5 = 1
0.08640 x 2 = 0.17280 a6 = 0
0.17280 x 2 = 0.34560 a7 = 0
0.34560 x 2 = 0.69120 a8 = 0
0.69120 x 2 = 1.38240 a9 = 1
0.38240 x 2 = 0.76480 a11 = 0
0.76480 x 2 = 1.52960 a11 = 1
0.52960 x 2 = 1.05920 a12 = 1
Etc, etc…
Résultat sur 12 bits (0.101110001011)2

Donc (0.72145)10 = (0.101110001011)2 avec 12 bits de précision

Un autre exemple de conversion de (0,6875)10:

Résultat Valeur du bit


0.6875 x 2 = 1.375 a1= 1
0.375 x 2 = 0.75 a2= 0
0.75 x 2 = 1.5 a3 = 1
0.5 x 2 = 1.0 a4 = 1

Résultat sur 4 bits (0.1011)2

Nous remarquons que la détermination des coefficients ai ne peut stopper que si la partie fractionnaire
devient nulle et donc que ce calcul n'est exact que dans ce cas. Le résultat sera d’autant plus précis que le
nombre de bits servant à coder est grand.

Codage des données - G. VALET – Reproduction interdite 10 / 20


COURS Codage des données Version 1.1 - Sept 2009

Chapitre 4 : Codage des données


A. Codage des entiers
A.1. Entiers naturels
Un entier naturel est un entier positif ou nul. Le nombre de bits choisi dépend de l’intervalle des nombres
à coder. La règle est simple et consiste à évaluer cette fourchette en utilisant la règle suivante :

0 > 𝑛𝑜𝑚𝑏𝑟𝑒 > 2n−1

n : nombre de bits utilisés

Voici un tableau qui met en relation le nombre de bits avec les intervalles possibles :

Nombre de bits Intervalles possibles


Min Max
8 0 255
16 0 65535
32 0 4294967295
64 0 18446744073709551615

Le tableau suivant donne la représentation mémoire d’entiers naturels en fonction du nombre de bits :

Nombre Bits Représentation binaire


322 16 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0
20 8 0 0 0 1 0 1 0 0
65535 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
255 8 1 1 1 1 1 1 1 1

A.2. Entiers relatifs


a. Principe
Un entier relatif peut-être positif, négatif ou nul. La représentation binaire doit donc tenir compte du
signe. Le codage des entiers relatifs s’inspire du codage des entiers naturels à la différence que le bit de
poids fort est réservé au signe :
 Bit de poids fort à 1 : Entier négatif
 Bit de poids fort à 0 : Entier positif ou nul

Codage des données - G. VALET – Reproduction interdite 11 / 20


COURS Codage des données Version 1.1 - Sept 2009

b. Complément à 1
Le principe du complément à 1 est très simple puisqu’il s’agit d’inverser tous les bits du nombre pour
trouver le nombre négatif. Voici la représentation en complément à 1 du nombre 23 :

Nombre Binaire
123 0 1 1 1 0 0 0 1
-123 1 0 0 0 1 1 1 0

Cette représentation pose un problème lorsqu’on additionne les deux nombres :

Nombre Binaire
123 0 1 1 1 0 0 0 1
-123 1 0 0 0 1 1 1 0
-123+123 1 1 1 1 1 1 1 1

Le résultat n’est pas nul, comme on pouvait s’y attendre.

c. Complément à 2
Afin de respecter les règles d’addition d’un nombre positif et d’un nombre négatif, la règle à suivre pour
trouver le nombre négatif est celle du « complément à 2 ». Elle consiste à :
 Inverser tous les bits du nombre positif. Les « zéros » deviennent des « un » et vice-versa
 Ajouter 1 au nombre obtenu

La représentation sera la suivante :

Nombre Bits Représentation binaire


322 16 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0
-322 16 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0

Remarque : Chaque bit du nombre positif est inversé puis on ajoute 1 pour trouver le nombre positif. On
remarquera également que si on additionne (addition binaire bien entendu) un nombre avec son
complément, on obtient 0 (avec une retenue)

d. Quelques exemples
Voici quelques exemples :

Nombre Bits Représentation binaire


5 8 0 0 0 0 0 1 0 1
1) Inversion des bits 1 1 1 1 1 0 1 0
-5 8 2) Ajout de 1 1 1 1 1 1 0 1 1

Codage des données - G. VALET – Reproduction interdite 12 / 20


COURS Codage des données Version 1.1 - Sept 2009

Nombre Bits Représentation binaire


115 8 0 1 1 1 0 0 1 1
1) Inversion des bits 1 0 0 0 1 1 0 0
-115 8 2) Ajout de 1 1 0 0 0 1 1 0 1

Nombre Bits Représentation binaire


127 8 0 1 1 1 1 1 1 1
1) Inversion des bits 1 0 0 0 0 0 0 0
-127 8 2) Ajout de 1 1 0 0 0 0 0 0 1

B. Codage des nombres réels


B.1. Introduction
Le codage des nombres réels est appelé « codage des nombres à virgules flottantes ». Il existe plusieurs
codages différents qui dépendent de l’architecture matérielle employée. Nous décrirons ici la plus
répandue d’entre elles : La norme IEEE 754-1985. Elle est utilisée massivement par les microprocesseurs
de type Intel.

B.2. Principe
a. Notation standard
Le principe de la virgule flottante est à rapprocher de la notation exponentielle utilisée en
mathématiques. En effet, pour représenter un nombre réel, il est possible d’utiliser 2 notations
différentes :

2 Notations décimales du même nombre


1234,7658
0,12347658 E+4 équivalent à 0,12347658.10+4

Dans le cas suivant, il est plus judicieux d’utiliser la notation exponentielle afin d’économiser des chiffres
significatifs :
2 Notations décimales du même nombre
0,0000134
0,134 E-4 équivalent à 0,134.10-4

Le codage à virgule flottante utilise le même principe et distinguent 3 éléments :


 Le signe : Détermine s’il s’agit d’un nombre négatif ou positif
 L’exposant : Ordre de grandeur du nombre sous forme de puissances de 2
 La mantisse : Représente les chiffres significatifs du nombre à coder

Codage des données - G. VALET – Reproduction interdite 13 / 20


COURS Codage des données Version 1.1 - Sept 2009

De manière générale, on peut représenter un nombre réel sous la forme :

𝑋 = 𝑚 × 𝑏𝑒
Où :
 m est la mantisse
 b est la base
 e est l’exposant

b. Remarques
Soit le nombre 0.123 E-3 , nous avons :
 m = 0.123
 b = 10
 e = -3

Dans ce genre de notation, on remarque que la mantisse respecte la règle suivante pour un nombre réel
différent de 0 :
0.1 ≤ 𝑚 < 1

D’une façon générale, on montre que :


1
≤𝑚 <1
𝑏

B.3. Représentation en « virgule flottante »


Le comité IEEE (Institute of Electrical and Electronics Engineers) a proposé en 1985 le standard IEEE 754
pour la représentation des réels.

a. Simple précision
Pour les nombres réels en simple précision, la représentation normalisée en complément à 2 s'effectue
sur 32 bits dont :
 1 bit pour le signe
 8 bits pour l’exposant
 23 bits pour la mantisse

Il en résulte que l'exposant maximal représentable est 2127, soit à peu prés 1038 et que l'exposant minimal
10-38. Ces valeurs sont d'un ordre de grandeur très élevé, suffisant pour traiter la plupart des problèmes
courants.

Pour un codage standard sur 32 bits, on obtient :

Signe Exposant (8 bits) Mantisse (23 bits)


s e e e e e e e e m m m m m m m m m m m m m m m m m m m m m m m

Codage des données - G. VALET – Reproduction interdite 14 / 20


COURS Codage des données Version 1.1 - Sept 2009

b. Double précision
Pour les nombres réels en double précision, la représentation normalisée en complément à 2 s'effectue
sur 64 bits dont :
 1 bit pour le signe
 11 bits pour l’exposant
 52 bits pour la mantisse

L'exposant maximal représentable est 21024.

c. Généralisation
La représentation binaire V d’un nombre réel est :

𝑠
𝑉 = −1 × 2𝑒−127 × 1 + 𝐹
Où :
 S : Bit de signe à 1 ou à 0
 e : Exposant
 F : Partie fractionnaire

d. Conversion hexadécimal vers décimal :


Soit le nombre hexadécimal trouvé en mémoire (410A0000)16

On traduit ce nombre en binaire, ce qui donne :

(410A0000)16= (0100 0001 0000 1010 0000 0000 0000 0000)2

On extrait les différents éléments du nombre :

Signe Exposant (8 bits) Mantisse (23 bits)


0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

 Signe : 0 donc nombre positif


 Exposant : (10000010)2 = (130)10
 Partie fractionnaire : (0.000101)2

La représentation binaire donne :

0
𝑉 = −1 × 2130−127 × 1 + 0.000101 = 1.000101 × 23 = 1000.101

Soit la représentation décimale :

𝑉 10 = 1 × 23 + 1 × 2−1 + 1 × 2−3 = 8.625

Codage des données - G. VALET – Reproduction interdite 15 / 20


COURS Codage des données Version 1.1 - Sept 2009

e. Conversion décimale vers hexadécimal


Soit le nombre -1470.7890625

Conversion de la partie entière : (1470)10 = (10110111110)2

Conversion de la partie décimale : (0.7890625)10

Résultat Valeur du bit


0. 7890625 x 2 = 1.578125 a1= 1
0.578125 x 2 = 1.15625 a2= 1
0.15625 x 2 = 0.3125 a3= 0
0.3125 x 2 = 0.625 a4= 0
0.625 x 2 = 1.25 a5=1
0.25 x 2 = 0.5 a6=0
0.5 x 2 = 1.0 a7=1

Résultat : 1100101

Expression du nombre en base 2: 10110111110.1100101

Normalisation de ce nombre : 1.01101111101100101 x 210

Elément Valeur
Exposant 10 + 127 = (137)10 = (10001001)2
Mantisse 01101111101100101
Signe 1

Ce qui donne :
Signe Exposant (8 bits) Mantisse (23 bits)
1 1 0 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0

Traduction hexadécimal :

Binaire 1100 0100 1011 0111 1101 1001 0100 0000


Hexadécimal C4 B7 D9 40

Codage des données - G. VALET – Reproduction interdite 16 / 20


COURS Codage des données Version 1.1 - Sept 2009

C. Codage des caractères alphanumériques


Le stockage des caractères alphanumériques implique un codage spécifique afin que ceux-ci soient
transformés en informations binaires.

Il existe plusieurs types de codage des caractères. Historiquement, la norme ASCII (American Standard
Code for Information Interchange), utilisée pour l’échange d’informations a laissé place à la norme
UNICODE qui prend en charge la quasi-totalité des alphabets existants.

C.1. La norme ASCII


Historiquement, le codage s’effectuait sur 7 bits, le 8ème étant réservé au bit de parité. Ce bit était utilisé
afin de minimiser les erreurs de transmission. Avec 7 bits, il est possible de coder 27 = 128 caractères
différents.

Vous trouverez en Annexe A.1, le tableau ASCII standard

C.2. La norme ASCII étendue


Afin de prendre en compte les caractères accentués, la norme ASCII a été étendue à 8 bits (Plus de bit de
parité).

Vous trouverez en Annexe A.2, le tableau des caractères étendus

C.3. Unicode
Le codage est effectué sur 16 bits, ce qui donne 2 16 = 65536 caractères différents. Il permet de coder la
majorité des alphabets existants, sans qu’un même code puisse faire référence à plusieurs caractères
d’origines différentes.

Tous les alphabets ainsi que les codes correspondants, sont à l’adresse : http://www.unicode.org

Codage des données - G. VALET – Reproduction interdite 17 / 20


COURS Codage des données Version 1.1 - Sept 2009

Chapitre 5 : Annexes
A. Codes ASCII
A.1. ASCII standard
caractère code ASCII code hexadécimal
NUL (Null) 0 00
SOH (Start of heading) 1 01
STX (Start of text) 2 02
ETX (End of text) 3 03
EOT (End of transmission) 4 04
ENQ (Enquiry) 5 05
ACK (Acknowledge) 6 06
BEL (Bell) 7 07
BS (Backspace) 8 08
TAB (Tabulation horizontale) 9 09
LF (Line Feed, saut de ligne) 10 0A
VT (Vertical tabulation, tabulation verticale) 11 0B
FF (Form feed) 12 0C
CR (Carriage return, retour à la ligne) 13 0D
SO (Shift out) 14 0E
SI (Shift in) 15 0F
DLE (Data link escape) 16 10
DC1 (Device control 1) 17 11
DC2 (Device control 2) 18 12
DC3 (Device control 3) 19 13
DC4 (Device control 4) 20 14
NAK (Negative acknowledgement) 21 15
SYN (Synchronous idle) 22 16
ETB (End of transmission block, fin de bloc de transmission) 23 17
CAN (Cancel, annulation) 24 18
EM (End of medium, fin du médium) 25 19
SUB (Substitute, substitut) 26 1A
ESC (Escape, caractère d'échappement) 27 1B
FS (File separator, séparateur de fichier) 28 1C
GS (Group separator, séparateur de groupe) 29 1D
RS (Record separator, séparateur d'enregistrement) 30 1E
US (Unit separator, séparateur d'enregistrement) 31 1F
SP (Space, espace) 32 20
Touche de suppression 127 7F

Codage des données - G. VALET – Reproduction interdite 18 / 20


COURS Codage des données Version 1.1 - Sept 2009

Car Déc Hexa Car Déc Hexa Car Déc Hexa


! 33 21 K 75 4B ^ 94 5E
" 34 22 L 76 4C _ 95 5F
# 35 23 M 77 4D ` 96 60
$ 36 24 N 78 4E a 97 61
% 37 25 O 79 4F b 98 62
& 38 26 P 80 50 c 99 63
' 39 27 Q 81 51 d 100 64
( 40 28 R 82 52 e 101 65
) 41 29 S 83 53 f 102 66
* 42 2A T 84 54 g 103 67
+ 43 2B U 85 55 h 104 68
, 44 2C V 86 56 i 105 69
- 45 2D W 87 57 j 106 6A
. 46 2E X 88 58 k 107 6B
/ 47 2F Y 89 59 l 108 6C
0 48 30 Z 90 5A m 109 6D
1 49 31 [ 91 5B n 110 6E
2 50 32 \ 92 5C o 111 6F
3 51 33 ] 93 5D p 112 70
4 52 34 ^ 94 5E q 113 71
5 53 35 _ 95 5F r 114 72
6 54 36 ` 96 60 s 115 73
7 55 37 a 97 61 t 116 74
8 56 38 b 98 62 u 117 75
9 57 39 c 99 63 v 118 76
: 58 3A d 100 64 w 119 77
; 59 3B e 101 65 x 120 78
< 60 3C f 102 66 y 121 79
= 61 3D g 103 67 z 122 7A
> 62 3E h 104 68 { 123 7B
? 63 3F i 105 69 | 124 7C
@ 64 40 j 106 6A } 125 7D
A 65 41 k 107 6B ~ 126 7E
B 66 42 l 108 6C Suppr 127 7F
C 67 43 m 109 6D
D 68 44 n 110 6E
E 69 45 o 111 6F
F 70 46 p 112 70
G 71 47 q 113 71
H 72 48 r 114 72
I 73 49 s 115 73
J 74 4A t 116 74

Codage des données - G. VALET – Reproduction interdite 19 / 20


COURS Codage des données Version 1.1 - Sept 2009

A.2. Code ASCII étendu

Source : Site « commentcamarche.net »

Codage des données - G. VALET – Reproduction interdite 20 / 20