Vous êtes sur la page 1sur 29

Représentation et codage de l’information

1. Introduction, codage binaire de l’information

Pierre Réty
Janvier 2021
L1 informatique — Université d’Orléans
Organisation

Cours 8 × 1h30 + 1 × 1h
TD 3 × 2h
TP 3 × 2h

Supports de cours sur Celene :


https://celene.univ-orleans.fr/course/view.php?id=6349

Pour me contacter : pierre.rety@univ-orleans.fr

1
Prenez des notes
pendant les cours !
Évaluation

première session CT de 1h30.


session de ratrapage CT de 1h30.

2
0010010101010000
0100010001000110
0010110100110001
0010111000110101
000010100010010…
Représentation et codage de l’information

• Ordinateur : semi-conducteurs fonctionnant en mode


bloqué/saturé.
• ⟹ électronique à deux états : état 0, état 1.
• Comment coder toute l’information avec des 0 et des 1 ?
• ⟹ information sous forme numérique binaire.

Le cours est illustré en Python 3.

3
Programme

1. codage binaire de l’information


2. représentation des nombres entiers
3. représentation des nombres flottants
4. représentation des textes
5. codes détecteurs et correcteurs d’erreurs
6. codage des images et des sons
7. codage des vidéos
8. théorie de l’information et compression de données

4
Bibliographie

Une partie de l’ information présentées dans ce cours est


disponible dans toute bonne référence d’architecture des
ordinateurs, par exemple dans les annexes du Tanenbaum.

Voici deux références en libre accès qui complètent le cours :

• G. Dowek et al. Introduction à la science informatique.


Chapitre Représentation numérique de l’ information.
https://wiki.inria.fr/wikis/
sciencinfolycee/images/3/3e/LSICh1.pdf
• D. Müller. Informatique (presque) débranchée. Chapitre
Codage de l’ information.
https://www.apprendre-en-ligne.net/info/codage/

5
des mots binaires
Qu’est-ce que l’ informatique ?

Faire des opérations (algorithmes) sur des données


numériques.

Il faut :

• trouver une bonne représentation (codage) des données ;


• mettre au point des algorithmes performants de
traitement de ces données.

6
Où se trouve l’ information numérique ?

Partout dans ou autour de l’ordinateur :

• processeur
• mémoire volatile (RAM)
• fichiers
• programmes
• disques durs, stockage SSD
• clés USB, cartes SD
• …

7
Combien de bits ?

Un bit (binary digit, noté b) est l’unité la plus simple


d’ information numérique, qui prend les deux valeurs 0 et 1.

Un octet (noté o) est un mot de 8 bits, qui a donc 28 = 256


valeurs possibles.
En anglais : Byte (noté B).

Historiquement les notations kilo, méga, giga, etc désignent


en informatique des puissances de 2. Depuis 1999, les
notations kibi, mébi, gibi, etc tendent à les remplacer.

8
Multiples de l’octet

Nom Sym Valeur Nom Sym Valeur


kilooctet Ko 103 kibioctet Kio 210
mégaoctet Mo 106 mébioctet Mio 220
gigaoctet Go 109 gibioctet Gio 230
téraoctet To 1012 tébioctet Tio 240
pétaoctet Po 1015 pébioctet Pio 250

Remarque : 1 Ko = 1000 octets, 1 Kio = 210 = 1024 octets,


1 Mo = 1000000 octets, 1 Mio = 220 = 1048576 octets.
Donc 1 Ko < 1 Kio et 1 Mo < 1 Mio.

Les mêmes notations s’appliquent au bit, ainsi


5 Kib = 5 ∗ 1024 b = 5120 bits.
9
représentation des entiers positifs
en base
Représentation en base 2

Généraliser la notation décimale (base 10) habituelle :

2019 = 2 × 103 + 0 × 102 + 1 × 101 + 9 × 100

Ainsi 2019 = 2 milliers + 0 centaines + 1 dizaine + 9 unités.

En base 2, on utilise des puissances de 2 au lieu de puissances


de 10 : unités, deuzaines, quatraines, huitaines,..., au lieu de
unités, dizaines, centaines, milliers,...

Ainsi 101 en base 2, noté 1012 , a comme comme valeur :


1012 = 1 quatraine + 0 deuzaine + 1 unité = 4 + 0 + 1 = 5

11102 = 1 huitaine + 1 quatraine + 1 deuzaine = 8 + 4 + 2 = 14

10
Représentation en base 𝑘

En base 𝑘, la notation 𝑎𝑛 𝑎𝑛−1 … 𝑎1 𝑎0 , avec 0 ⩽ 𝑎𝑖 ⩽ 𝑘 − 1


représente le nombre entier naturel

𝑎𝑛 × 𝑘𝑛 + 𝑎𝑛−1 × 𝑘𝑛−1 + … + 𝑎1 × 𝑘1 + 𝑎0 × 𝑘0

Bases importantes en informatique : 2 (binaire), 8 (octal),


10 (décimal), 16 (hexadécimal).

11
Représentation binaire (base 2)

Exemple sur 3 bits :


000 0 = 0 = 02
001 1 = 20 = 12
010 2 = 21 = 102
011 3 = 21 + 20 = 112
100 4 = 22 = 1002
101 5 = 22 + 20 = 1012
110 6 = 22 + 21 = 1102
111 7 = 22 + 21 + 20 = 1112

12
Conversion entre bases

Pour convertir 𝑎𝑛 𝑎𝑛−1 ⋯ 𝑎1 𝑎0 (base 𝑘) en décimal, c’est à dire en


base 10 qui est la base habituellement utilisée, j’utilise la
formule de calcul :
𝑎𝑛 × 𝑘𝑛 + 𝑎𝑛−1 × 𝑘𝑛−1 + … + 𝑎1 × 𝑘1 + 𝑎0 × 𝑘0

Pour obtenir l’écriture d’un nombre 𝑛 (base 10) dans une base
𝑘, je procède par divisions euclidiennes successives :

i = 0; q[0] = n
tant que q[i]>0 ou i=0:
q[i+1] = q[i] // k
a[i] = q[i] % k
i = i + 1
13
Du binaire au décimal

Pour convertir un nombre binaire vers le décimal, il suffit de


connaître les puissances de 2.

101100101012 = 210 + 28 + 27 + 24 + 22 + 20
= 1024 + 256 + 128 + 16 + 4 + 1
= 1429

14
Du décimal au binaire
1515
757 1
378 1
189 0
Pour convertir un nombre décimal en 94 1
binaire, je fais des divisions 47 0
euclidiennes par 2 jusqu’à obtenir 0. 23 1
11 1
La colonne de droite contient les restes 5 1
des divisions. 2 1
1 0
La lecture des restes de bas en haut
0 1
fournit l’écriture binaire du nombre de
départ. 1515 = 101111010112

15
Du binaire à l’octal ou à l’hexadécimal

Pour convertir un nombre écrit en binaire vers l’octal ou


l’hexadécimal, il suffit de recoder les chiffres par paquets de 3
ou de 4.
Le découpage en paquets doit commencer par la droite.

1515 = 101111010112

1515 = 10|111|101|0112 = 27538

1515 = 101|1110|10112 = 5eb16

Rq Pour les bases supérieures à 10, on utilise les lettres de


l’alphabet pour compléter la liste des chiffres. Ainsi en
hexadécimal on utilise les lettres a à f, avec a=10,...,f=15.
16
Représentation des caractères latins
Code ASCII

Un fichier texte est une séquence de codes de caractères.

Le code ASCII propose un codage sur un octet des caractères


de l’alphabet latin, chiffres et divers symboles.

17
Considérons le texte :
THE CAKE IS A LIE.
THERE IS NO CAKE.
Le codage ASCII est la suite d’octets (chaque octet est
représenté par son codage hexadécimal) :
54 48 45 20 43 41 4b 45 20 49 53 20 41 20 4c 49
45 2e 0a 54 48 45 52 45 20 49 53 20 4e 4f 20 43
41 4b 45 2e 0a

On voit que le premier caractère du texte ”T” est représenté


par 5416 (voir table ASCII à la page suivante).
Or 516 = 1012 = 0101 sur 4 bits, et 416 = 1002 = 0100 sur 4 bits.
Donc ”T” est représenté par l’octet 01010100.

18
19
A l’intérieur de l’ordinateur
Cartes mère

20
21
Disque dur

22

Vous aimerez peut-être aussi