Académique Documents
Professionnel Documents
Culture Documents
Madeleine Bonnet 1
Licence MIA 1ère année Université René Descartes
Contrôle des connaissances
c1 mardi 22 mars à 17h
c2 mardi 5 avril à 17h (avec prog 2)
c3 mardi 10 mai à 17h
c4 semaine des examens, à partir du 24 mai
Madeleine Bonnet 2
Licence MIA 1ère année Université René Descartes
Numération
Traite de la dénomination, de la
représentation des nombres
Comment représenter tous les nombres (il y
en a une infinité) à l’aide d’un ensemble fini
de symboles, assemblés selon des règles, le
code ?
Au cours des âges, l’homme a fait
différents essais …
Madeleine Bonnet 3
Licence MIA 1ère année Université René Descartes
Bases de numération
Madeleine Bonnet 4
Licence MIA 1ère année Université René Descartes
Principe de position
La signification d’un symbole (ou chiffre)
dépend de son poids, de sa place, dans la suite
des symboles qui est la représentation du
nombre
Principe du zéro
Le zéro indique une position où il n’y a pas
d’éléments.
10 signifie 0 unité et 1 dizaine
Madeleine Bonnet 5
Licence MIA 1ère année Université René Descartes
Quelques bases utilisées ….
binaire : {0, 1} en informatique, base de la logique booléenne
base 5 : {0, 1, 2, 3, 4} …compter jusqu’à 30 avec ses doigts
octale : {0, 1, 2, 3, 4, 5, 6, 7} avant …
décimale : {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ……
base 12 : établie sur les signes du zodiaque. Utilisée dans le commerce
(œufs, huîtres, 2 fois 12 heures dans une journée….)
hexadécimale : très utilisée en microinformatique
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
Base 20 construite à partir des doigts et des orteils. Quelques traces :
quatre-vingts, quatre-vingt-dix, Hôpital des Quinze Vingts
Base 60 : 360° dans le cercle, 60 minutes dans une heure, soixante,
soixante-dix …
Madeleine Bonnet 6
Licence MIA 1ère année Université René Descartes
Définitions
Madeleine Bonnet 7
Licence MIA 1ère année Université René Descartes
Systèmes pondérés
Système décimal (base 10)
alphabet = {0, 1, … , 9}
1942 = 1∗103 + 9∗102 + 4∗101 + 2∗100
Madeleine Bonnet 8
Licence MIA 1ère année Université René Descartes
Systèmes pondérés suite...
Système à base b
alphabet = {0,1, … , b−1}
– code à b positions
Madeleine Bonnet 9
Licence MIA 1ère année Université René Descartes
Tout nb entier x, inférieur à bk se
décompose de manière unique sous
forme d’un polynôme de degré k-1 ayant
pour variable la base b, avec des
coefficients appartenant à l’alphabet
{0,1,…, b-1}
Madeleine Bonnet 10
Licence MIA 1ère année Université René Descartes
Exemple 1: entiers ≥ 0
binaire {0,1}
exposant 11 10 9 8 7 6 5 4 3 2 1 0
nombre 1 01100110101
20 + 22 + 24 + 25 + 28 + 29 + 211= 286910
Madeleine Bonnet 11
Licence MIA 1ère année Université René Descartes
Exemples 2 : entiers ≥ 0
octal {0, 1, 2, 3, 4, 5, 6, 7}
exposant 3 2 1 0
nombre (5 4 6 5)8 = 5∗80 + 6∗81 + 4∗82 + 5∗83
hexadécimal
{0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
Madeleine Bonnet 12
Licence MIA 1ère année Université René Descartes
Exemples 3 : nombres décimaux
octal {0, 1, 2, 3, 4, 5, 6, 7}
hexadécimal
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
Madeleine Bonnet 13
Licence MIA 1ère année Université René Descartes
Conversion facile (1)
0 0 1 0 0 1 1 0 1 0 1 1, 1 1 0 0 1 0 0 0
2 6 B , C 8
= 2∗162 + 6∗161 + 11∗160+ 12∗16-1 + 8∗16-2
= 619,7812
Madeleine Bonnet 14
Licence MIA 1ère année Université René Descartes
Conversion facile (2)
0 0 1 0 0 1 1 0 1 0 1 1, 1 1 0 0 1 0
1 1 5 3 6 2
= 83 + 82 + 5∗81+ 3∗80 + 6∗8-1+ 2∗8-2
= 619,78125
– on prend des paquets de 3 bits de part et
d’autre de la virgule
Madeleine Bonnet 15
Licence MIA 1ère année Université René Descartes
Conversion : entier en base 10 en base 2
par soustraction
Exemple 173 à convertir en base 2
– bits nécessaires : c’est 8 bits car 27 ≤ 173 < 28
Madeleine Bonnet 16
Licence MIA 1ère année Université René Descartes
Conversion : entier en base 10 en base 8
par soustraction …..
Madeleine Bonnet 17
Licence MIA 1ère année Université René Descartes
Conversion : entier en base 10 en base 2
par division
Contrairement à la méthode par soustraction, on
recherche d’abord les symboles de plus petit poids
173 à convertir en base 2
173 2
1 86 2
0 43 2
1 21 2
1 10 2
0 5 2
1 2 2
0 1
(173)10 = (1 0 1 0 1 1 0 1)2
Madeleine Bonnet 18
Licence MIA 1ère année Université René Descartes
Conversion de base 10 en base b par division …
Madeleine Bonnet 19
Licence MIA 1ère année Université René Descartes
Reconnaître les multiples de la base
D’après la forme polynomiale donnant la valeur
en base 10 d’un entier écrit en base b
xb = an an-1….. a0
x10 = an bn + an-1 bn-1 + an-2 bn-2 a
…. + 1 b1 a b0
+ 0
on voit que
– un multiple de b se termine par 0.
Il s’écrit x10 = b(an bn-1 + an-1 bn-2 + an-2 bn-3 …. + a1)
Madeleine Bonnet 20
Licence MIA 1ère année Université René Descartes
Conversion de la partie décimale
Madeleine Bonnet 25
Licence MIA 1ère année Université René Descartes
Exercice
Madeleine Bonnet 26
Licence MIA 1ère année Université René Descartes
Codage de l’information
Toute information à traiter doit être
représentée en binaire pour être comprise par
la machine
Leibniz (1646-1716) et Boole (1815-1864) ont
mis au point l’arithmétique binaire, base du
traitement automatique
La signification associée dépend du contexte :
{0,1}, {faux, vrai}, {éteint, allumé},
{blanc, noir} ...
Madeleine Bonnet 27
Licence MIA 1ère année Université René Descartes
Codage de l’information suite…
Une information, représentée par une suite de bits, n’a
que le sens que l’on veut bien lui donner
Ainsi, nous avons déjà vu que la suite 101 représente
– cent un en base 10, cinq en base 2, dix en base 3, dix-sept en
base 4, vingt-six en base 5, trente sept en base 6 etc.
– Nous pouvons convenir qu’elle représente un caractère, une
image ou toute autre chose
Pour traiter les suites de bits suivant les règles
adaptées aux objets représentés, il faut connaître le
code : alphabet et règles permettant de traduire
l’information
Madeleine Bonnet 28
Licence MIA 1ère année Université René Descartes
Codage de l’informations suite …
Certains codes permettent de détecter et corriger des
erreurs grâce à l’ajout d’informations redondantes.
Ceci peut être très intéressant lors de transmission de
données où des erreurs peuvent apparaître.
Selon l’application, le choix d’un code est très
important, notamment pour « économiser les
moyens ». On utilise alors des méthodes de
compression.
Ne pas confondre codage et cryptage. Le cryptage est
un moyen pour transformer une suite de données afin
d’assurer sa confidentialité
Madeleine Bonnet 29
Licence MIA 1ère année Université René Descartes
Comment coder les entiers
en machine ?
Madeleine Bonnet 30
Licence MIA 1ère année Université René Descartes
Codage des entiers en binaire
Madeleine Bonnet 31
Licence MIA 1ère année Université René Descartes
Décimal codé binaire
Chaque chiffre décimal est codé en binaire
– (il faut donc 4 bits par chiffre)
– 19032 codé par 0001 1001 0000 0011 0010
Avantages
• codage/décodage facile
• pas de limitation des grandeurs représentées
Inconvénients
• grande place mémoire ⇒ opérations arithmétiques
lentes (penser au traitement de la retenue)
• pas de représentation des entiers négatifs
• 6 combinaisons non utilisées
Madeleine Bonnet 32
Licence MIA 1ère année Université René Descartes
Codage binaire naturel
Le bit de poids fort (à gauche) est réservé au signe
• 0 pour + et 1 pour −
On doit fixer la longueur des mots
• + 6 codé par 0 110 − 6 codé par 1 110
Avantages
• codage/décodage facile
• représentation des entiers négatifs
Inconvénients
• limitation de la grandeur des nombres représentables
• 2 représentations du zéro
• opérations arithmétiques peu commodes (0101 +1101)
Madeleine Bonnet 33
Licence MIA 1ère année Université René Descartes
Complément à 1 : définition
On fixe la taille des mots du code
entiers positifs codés en binaire signé
+5 codé par 0101
entiers négatifs : inversion des chiffres binaires
−5 codé par 1010
Inconvénients
• 2 représentations du zéro
• opérations arithmétiques peu commodes
Madeleine Bonnet 34
Licence MIA 1ère année Université René Descartes
Complément à 1 (suite …)
1111 représente 24 − 1
−0101
Madeleine Bonnet 35
Licence MIA 1ère année Université René Descartes
Complément à 1 : addition
Madeleine Bonnet 36
Licence MIA 1ère année Université René Descartes
Complément à 1 : addition
+ 63 0011 1111
− 28 1110 0011
+ 35
Madeleine Bonnet 37
Licence MIA 1ère année Université René Descartes
Complément à 1 : qu’avons-nous fait ?
En binaire naturel on a effectué l’opération
suivante (traduite ici en base 10) :
63 + (255 − 28) = 318 − 28 = 290
Madeleine Bonnet 38
Licence MIA 1ère année Université René Descartes
Addition (suite …)
Qu’avons-nous fait ?
(255 − 63) + 28 = 220
Madeleine Bonnet 39
Licence MIA 1ère année Université René Descartes
Complément à 1 : addition
+3 0011 +3 0011
+2 0010 +6 0110
Madeleine Bonnet 40
Licence MIA 1ère année Université René Descartes
Complément à 1 : addition
– On « ajoute la retenue »
» 0 pour bit de signe donne dépassement réel de
capacité
» 1 pour bit de signe, on lit le résultat
(en complément à 1)
Madeleine Bonnet 41
Licence MIA 1ère année Université René Descartes
Conclusions sur l’addition
2 nombres de signe opposé
• le résultat est représentable, avec le nombre de bits
fixés pas de dépassement « réel » de capacité
• s’il n’y a pas de retenue : nombre négatif
sa valeur absolue est obtenue en inversant les bits
• s’il y a une retenue : nombre positif
on « ajoute la retenue » pour avoir la valeur
absolue
2 nombres de même signe
• positifs
• négatifs
Madeleine Bonnet 42
Licence MIA 1ère année Université René Descartes
Conclusions sur l’addition (suite …)
Madeleine Bonnet 43
Licence MIA 1ère année Université René Descartes
Complément à 2 : définition
Madeleine Bonnet 44
Licence MIA 1ère année Université René Descartes
Complément à 2 (suite …)
−5 1011
+5 0101
Madeleine Bonnet 45
Licence MIA 1ère année Université René Descartes
Complément à 2 (suite …)
Sur 4 bits
0000 0
1111 −1 0001 1 24 valeurs distinctes
1110 −2 0010 2 de
1101 −3 0011 3 −8 à +7
1100 −4 0100 4 soit de
1011 −5 0101 5
1010 −6 0110 6 − 24−1 à 24−1 −1
1001 −7 0111 7
1000 −8
Madeleine Bonnet 47
Licence MIA 1ère année Université René Descartes
Complément à 2 : opérations faciles
3 0011 4 0100
−5 1011 −3 1101
Madeleine Bonnet 48
Licence MIA 1ère année Université René Descartes
Complément à 2 : opérations faciles
Madeleine Bonnet 49
Licence MIA 1ère année Université René Descartes
Addition en complément à 2
Madeleine Bonnet 50
Licence MIA 1ère année Université René Descartes
Dépassement de capacité
Codage en complément à 2 sur 8 bits : entiers
représentables de –128 à +127
Que se passe-t-il en cas de dépassement de
capacité ?
Exemple : – 127 – 10
– 127 s’écrit 10000001
– 10 s’écrit 11110110
1 01110111
Dépassement de capacité puisque le bit de signe est 0
En omettant la retenue, on a
(256 – 127) + (256 – 10) – 256 = +119
Madeleine Bonnet 51
Licence MIA 1ère année Université René Descartes
Dépassement de capacité ….
Exemple : + 127 + 10
Madeleine Bonnet 53
Licence MIA 1ère année Université René Descartes
Autres codes
En utilisant le code binaire décimal (chiffre décimal
codé sur 4 bits) on a vu plusieurs inconvénients :
place mémoire, calculs peu faciles. Les retenues
imposent un traitement spécial
– 8+9 = 17 s’écrit sur 5 bits (1000 + 1001) = 10001 où le 5è bit
est la retenue
– 8+4 = 12 s’écrit sur 4 bits(1000 + 0100) = 1100
Une solution est donnée par le code ‘plus 3’ (excess3)
où l’on ajoute 3 à chaque chiffre décimal avant de le
traduite en binaire
– Voir avantages, inconvénients en exercice
Madeleine Bonnet 54
Licence MIA 1ère année Université René Descartes
Autres codes
Madeleine Bonnet 55
Licence MIA 1ère année Université René Descartes
Code de Gray
Madeleine Bonnet 56
Licence MIA 1ère année Université René Descartes
Code de Gray sur 4 bits
Madeleine Bonnet 57
Licence MIA 1ère année Université René Descartes
Code de Gray sur 5 bits
0 00000 9 01101
1 00001 10 01111
2 00011
11 01110
3 00010
12 01010
4 00110
5 00111 13 01011
6 00101 14 01001
7 00100 15 01000
8 01100 16 11000
Madeleine Bonnet 59
Licence MIA 1ère année Université René Descartes
Compression de données =
modélisation + codage
Flot de symboles transformé en codes
Compression efficace : flot de codes qui
résulte plus petit que le flot original
Le code dépend d’un modèle. Le modèle
définit les probabilités d’occurrence de
chaque symbole pour produire le code
Flot symboles probabilités Codeur Flot
Modèle
entrée sortie
Madeleine Bonnet 60
Licence MIA 1ère année Université René Descartes
Codage de Huffman
Comment, à partir d’un modèle de
probabilités, coder avec des mots de
longueur variable (sur un nombre entier de bits) ?
Modèle : chaque symbole est affecté de
son poids, la fréquence ou probabilité
d’apparition du symbole
Création d’un arbre binaire par une
procédure simple
Madeleine Bonnet 61
Licence MIA 1ère année Université René Descartes
Codage de Huffman : exemple
Α B C D E
15 7 6 6 5
Madeleine Bonnet 62
Licence MIA 1ère année Université René Descartes
Codage de Huffman : exemple
Α B C D E
15 7 6 6 5
11
Madeleine Bonnet 63
Licence MIA 1ère année Université René Descartes
Codage de Huffman : exemple
Α B C D E
15 7 6 6 5
13 11
Madeleine Bonnet 64
Licence MIA 1ère année Université René Descartes
Codage de Huffman : exemple
Α B C D E
15 7 6 6 5
13 11
24
Madeleine Bonnet 65
Licence MIA 1ère année Université René Descartes
Codage de Huffman : exemple
Α B C D E
15 7 6 6 5
13 11
24
39
Madeleine Bonnet 66
Licence MIA 1ère année Université René Descartes
Codage de Huffman
Symboles, affectés de leur poids, alignés sous forme
d’une chaîne de nœuds
Les deux nœuds de plus faible poids sont appariés et
donnent un nouveau nœud ayant pour poids la somme
des poids de ses fils
Les nœuds fils sont enlevés de la liste et remplacés
par le nœud parent
À partir du nœud père, on désigne l’un des fils comme
donnant le code 0, l’autre donnant le code 1
On répète les étapes précédentes tant qu’il reste plus
qu’un nœud libre
Madeleine Bonnet 67
Licence MIA 1ère année Université René Descartes
Codage de Huffman : exemple
Α B C D E
15 7 6 6 5
0 1 0 1
13 11
0
0 1
24
1
39 Α 0
Il ne faut plus que 7 bits Β 100
pour coder le mot BAC C 101
D 110
E 111
Madeleine Bonnet 68
Licence MIA 1ère année Université René Descartes
Remarques sur ce code
Madeleine Bonnet 69
Licence MIA 1ère année Université René Descartes
Précision finie
ATTENTION
Les calculs en précision finie sont différents de ceux
de l’algèbre normale
Exemple :
soient les entiers > 0, en base 10, sur 3 chiffres
• loi associative a = 700, b = 400, c = 300
a + (b − c) = (a + b) − c en algèbre normale
Madeleine Bonnet 70
Licence MIA 1ère année Université René Descartes
Réels en virgule fixe
Madeleine Bonnet 71
Licence MIA 1ère année Université René Descartes
Réels en virgule flottante
Codage semblable à celui de la notation
scientifique, le nombre décimal x s’écrit :
Madeleine Bonnet 73
Licence MIA 1ère année Université René Descartes
Exemple
Madeleine Bonnet 74
Licence MIA 1ère année Université René Descartes
Réels virgule flottante en base 2
Base 10 27 = 0,27 10+2
Base 2
(11011) = (0,11011) 2(101)
que l’on peut coder par exemple sur 4 octets
signe signe
exposant mantisse
Madeleine Bonnet 75
Licence MIA 1ère année Université René Descartes
Représentation des signes
Les signes de la mantisse et de l’exposant
n’apparaissent pas explicitement
Pour la mantisse, on réserve un bit selon la
convention habituelle
Pour l’exposant on utilise la méthode dite du
biais. Si l’on dispose de n bits on veut pouvoir
représenter 2n exposants distincts :
• de − 2n-1 à 2n-1−1
• pour obtenir la représentation de l’exposant : écrire
sa valeur en binaire signé et ajouter 2n-1
Madeleine Bonnet 76
Licence MIA 1ère année Université René Descartes
Exposants biaisés
Sur n bits, pour obtenir un entier, on ajoute le biais
2n-1 et on représente le résultat en binaire naturel
Exemple, sur 3 bits, le biais est +4
− 4 s’écrit 000 (–4 +4)
− 3 s’écrit 001 (–3 +4)
− 2 s’écrit 010 (–2 +4)
− 1 s’écrit 011 (–1+4)
0 s’écrit 100 (0 + 4)
1 s’écrit 101 (1 + 4)
2 s’écrit 110 (2 + 4)
3 s’écrit 111 (3 + 4)
Inversement, étant donnée une représentation, on retranche
le biais pour obtenir la valeur de l’exposant
Madeleine Bonnet 77
Licence MIA 1ère année Université René Descartes
Réels en virgule flottante
Du nombre d’octets réservés à la représentation
en machine des réels dépend
• l’ordre de grandeur des nombres : exposant
• la précision donnée par le nombre de chiffres
significatifs : mantisse
Madeleine Bonnet 78
Licence MIA 1ère année Université René Descartes
Procédé du bit caché
En base 2, à cause de la normalisation, on
perd une possibilité d’information
Pour un mot mémoire comportant n bits, on
gagnera 1 bit de précision en ne représentant
pas le bit 1 après la virgule
Ce bit figure implicitement mais n’est pas
représenté
On peut donc avoir une représentation de la
mantisse ne contenant que des zéros
Madeleine Bonnet 79
Licence MIA 1ère année Université René Descartes
Les réels forment un ensemble DISCRET
débordement inférieur
négatif positif
négatifs positifs
exprimables exprimables
−1,75 −0,125 0 0,125
1,75
débordement débordement
supérieur supérieur
négatif positif
Madeleine Bonnet 84
Licence MIA 1ère année Université René Descartes
Successeurs et prédécesseurs
Comment calculer le successeur d’un réel x ≠ 0
dans une représentation fixée ?
Soit E l’exposant vrai, M la valeur de la mantisse et
m sa longueur : x = ± M 2E
Si x n’est pas une puissance de 2 alors
Suc(x) = x + 2E –m
Préd(x) = x − 2E –m
Si x est une puissance de 2
x >0, suc(x) = x + 2E –m ;
préd(x) = x − 2E –(m+1)
x <0, suc(x) = x + 2E –(m+1) ;
préd(x) = x − 2E –m
Madeleine Bonnet 85
Licence MIA 1ère année Université René Descartes
Utilisation du bit caché
Dans l’exemple précédent, bien que la mantisse utilise
3 bits nous n’avons eu que 4 mantisses distinctes :
100, 101, 110, 111
Madeleine Bonnet 87
Licence MIA 1ère année Université René Descartes
Caractères alphanumériques
Madeleine Bonnet 88
Licence MIA 1ère année Université René Descartes
Caractères alphanumériques
a 1 1 1 0 0 0 0 1 97
b 1 1 1 0 0 0 1 0 98
. . . . . . . . .
z 1 1 1 1 1 0 1 0 122
A 0 1 0 0 0 0 0 1 65
+ 0 0 1 0 1 0 1 1 43
, 1 0 1 0 1 1 0 0 44
Bit de poids fort contrôle la parité
Madeleine Bonnet 89
Licence MIA 1ère année Université René Descartes