Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Notions d’erreurs
Sommaire
1.1 Introductions - sources d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Mesures de l’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Représentation décimale d’un nombre approché . . . . . . . . . . . . . . . . 3
1.4 Troncature et arrondissement d’un nombre . . . . . . . . . . . . . . . . . . . 4
1.5 Représentation des nombres sur ordinateur . . . . . . . . . . . . . . . . . . . 4
1.5.1 Les nombres entiers signés . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.2 Les nombres réels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1
1.1. INTRODUCTIONS - SOURCES D’ERREURS
x ≃ x∗ ou x ≈ x∗
Erreur absolue
Définition 1.1 On appelle erreur absolue du nombre approché x ∗ de x, la quantité réelle positive
notée ∆(x), définie par :
∆(x) = ∣x − x ∗ ∣ (1.1)
Exemple 1.1 Pour la valeur exacte 23 , la valeur approchée x1∗ = 0.666667 est 1000 fois plus précise
que la valeur approchée x2∗ = 0.667 ; (l’erreur ∆2 (x) = 1000∆1 (x)).
2 2 666667 1 −6
∆1 (x) = ∣x − x1∗ ∣ = ∣ − 0.666667∣ = ∣ − ∣ = 10
3 3 106 3
2 2 667 1
∆2 (x) = ∣x − x2∗ ∣ = ∣ − 0.667∣ = ∣ − 3 ∣ = 10−3
3 3 10 3
2
1.3. REPRÉSENTATION DÉCIMALE D’UN NOMBRE APPROCHÉ
Erreur relative
Définition 1.2 On appelle erreur relative du nombre approché x ∗ de x, la quantité réelle positive
notée r(x), définie par :
∣x − x ∗ ∣ ∆(x)
r(x) = = (1.2)
∣x∣ ∣x∣
Définition 1.3 On appelle incertitude absolue d’une valeur approchée x ∗ , tout nombre réel positif,
noté ∆x, vérifiant : E = ∣x − x ∗ ∣ ≤ ∆x ou de manière équivalente : x ∗ − ∆x ≤ x ≤ x ∗ + ∆x.
L’erreur absolue donne une mesure quantitative de l’erreur commise et l’erreur relative en me-
sure l’importance. Par exemple, si on fait usage d’un chronomètre dont la précision est de l’ordre
du dixième de seconde, l’erreur absolue est bornée par 0, 1s. Mais est-ce une erreur importante ?
Dans le contexte d’un marathon d’une durée de 2h20min, l’erreur relative liée au chronométrage
est très faible :
0.1
= 0.0000119
2 × 60 × 60 + 20 × 60
et ne devrait pas avoir de conséquence sur le classement des coureurs. Par contre, s’il s’agit d’une
course de 100 m d’une durée d’environ 10s, l’erreur relative est beaucoup plus importante :
0.1
= 0.01
10
soit 1% du temps de course. Avec une telle erreur, on ne pourra vraisemblablement pas faire la
différence entre le premier et le dernier coureur [Fortin, 2008].
où les a i sont les chiffres du nombre réel x (a i = 0, 1, 2, . . . , 9), avec a m ≠ 0 où m est un entier
naturel appelé rang supérieur du nombre réel x.
3
1.4. TRONCATURE ET ARRONDISSEMENT D’UN NOMBRE
La troncature
La troncature consiste à retirer tous les chiffres à droite du niveau de troncature demandé.
Par exemple, pour approcher le nombre π = 3.141592653589 . . . , on peut considérer la valeur
approchée 3.14 ou encore 3.14159, etc. ; selon le besoin. Dans le premier cas, le nombre π est
tronqué (coupé en éliminant une partie) après 2 décimales ; dans le second cas, après 5 décimales.
L’arrondi
Comme pour la troncature, on indique à quel niveau on calcule l’arrondi.
• Lorsque le chiffre suivant le niveau de l’arrondi est supérieur ou égal à 5, on arrondit à la
valeur supérieure : on parle de valeur approchée par excès.
• Si le chiffre suivant le niveau de l’arrondi est inférieur à 5, on arrondit à la valeur inférieure :
on parle de valeur approchée par défaut.
4
1.5. REPRÉSENTATION DES NOMBRES SUR ORDINATEUR
Un nombre est représenté par un nombre finis de caractères, fixé à l’avance, qui dépend de
l’architecture de la machine. Ainsi tous les nombres entiers ou réels ne peuvent pas être repré-
sentés. Les conséquences en sont très importantes, en particulier dans la précision des résultats
lors de calculs.
La structure interne de la plupart des ordinateurs s’appuie sur le système binaire. L’unité d’in-
formation ou bit prend la valeur 0 ou 1. Évidemment, très peu d’information peut être accumulée
au moyen d’un seul bit. On regroupe alors les bits en mots de longueur variable (les longueurs
de 8, de 16, de 32 ou de 64 ou même 128 bits sont les plus courantes). Les nombres, entiers et
réels, sont représentés de cette manière, bien que leur mode précis de représentation dépende du
fabricant.
On distingue :
On a
N = a n−1 ∗ 2n−1 + a n−2 ∗ 2n−2 + . . . + a2 ∗ 22 + a1 ∗ 21 + a0 ∗ 20
Pour représenter les entiers signés, on utilise plusieurs variantes ; parmi elles, on cite la représen-
tation (signe + grandeur) et la représentation en complément à deux (la plus utilisée).
0 1 0 1 1 1 0 0 1 0 1 0 0 1 0 0
14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Figure 1.1 – Représentation signe et grandeur d’un entier sur 16 bits ([Fortin, 2008])
Dans cette représentation, un bit (le plus significatif ou MSB) est consacré au signe :
0 pour un entier positif
1 pour un entier négatif
et les autres bits pour la représentation de la grandeur (valeur absolue).
Ainsi, dans l’exemple de la figure (1.1), (101110010100100)2 = (23716)16 . Finalement, la repré-
sentation est celle de +23716 en décimal.
Dans cette représentation, les entiers signés codés sur n chiffres binaires ont pour valeur dans
[−2 − 1, 2n−1 − 1]. Ainsi les entiers codés sur
n−1
16 bits (= 2 octets) correspond à des entiers en simple précision ont pour valeur dans [−215 −
5
1.5. REPRÉSENTATION DES NOMBRES SUR ORDINATEUR
+0 = 0000000000000000
−0 = 1000000000000000
L’idéal dans une représentation est d’utiliser un seul circuit pour faire les deux opérations
(addition et soustraction), puisque :
X − Y = X + (−Y)
X + X ′ = 2n − 1
X + 2n = X
Si on prend deux nombres entiers X et Y sur n bits, on remarque que la soustraction peut être
ramener à une addition :
X − Y = X + (−Y)
X − Y = (X + 2n ) − Y = X + (2n − 1) − Y + 1
6
1.5. REPRÉSENTATION DES NOMBRES SUR ORDINATEUR
X − Y = X + Y′′
Remarque 1.2 Si on travail sur n bits , l’intervalle des valeurs qu’on peut représenter en complément
à deux : −2(n−1) ≤ N ≤ +2(n−1) − 1
Remarque 1.3 Dans cette représentation , le bit du poids fort nous indique le signe.
Remarque 1.4 On remarque que le zéro n’a pas une double représentation.
Sur 32 bits (4 octets), on a p = 23, q = 8 (1 bit pour le signe) ce qui permet de représenter
des nombres compris, en valeur absolue, entre 2−128 ≈ 10−38 et 2128 ≈ 1038 car 128 = 2q = 28 . La
précision machine est de 7 chiffres décimaux significatifs car 223 = 107 .
7
1.5. REPRÉSENTATION DES NOMBRES SUR ORDINATEUR
± ... … … …
e m
Exemple
x exposant e mantisse m
x = 0 (si S = 0)
e=0 m=0
x = 0 (si S = 1)
Nombre normalisé
0 < e < 255 quelconque
x = (−1)S × 2e−127 × 1.m
Nombre dénormalisé
e=0 m≠0
x = (−1)S × 2e−126 × 0.m
x = In f (si S = 0)
e = 255 m=0
x = In f (si S = 0)
x = NaN(Not a Number) e = 255 m≠0
8
1.5. REPRÉSENTATION DES NOMBRES SUR ORDINATEUR
Les nombres dénormalisés suivent le même principe, sauf que e = −126 et m = 0 + mantisse
(attention : pour le calcul, on veillera à prendre e = −126 et non −127, ceci afin de garantir la
continuité de cette représentation avec la représentation normalisée, puisque m = 0 + mantisse
et non plus m = 1 + mantisse).
Remarques
• Il y a deux zéros : +0 et −0 (zéro positif et zéro négatif), selon la valeur du bit de signe ;
• Il y a deux infinis : +∞ et −∞, selon la valeur du bit de signe ;
• Les zéros et les nombres dénormalisés ont un exposant décalé de −127 + 127 = 0 ; tous les
bits du champ « exposant » sont donc à 0 ;
• Les NaNs et les infinis ont un exposant décalé de 128 + 127 = 255 ; tous les bits du champ «
exposant » sont donc à 1 ;
• Le nombre dénormalisé non nul le plus proche de zéro est ±2−149 ≈ ±1.4012985 × 10−45 ;
• Le nombre normalisé non nul le plus proche de zéro est 2−126 ≈ ±1.175494351 × 10−38 ;
• Le nombre normalisé dont la valeur absolue est la plus grande est ±(2 − 2−23 ) × 2127 ≈
±3.4028235 × 1038 .
Exemple
Précision machine
La précision machine d’une arithmétique en virgule flottante est définie comme le plus petit
nombre positif e ps tel que
f loat(1 + e ps) > 1
C’est la distance entre l’entier 1 et le nombre machine le plus proche, qui lui est supérieur.
9
1.5. REPRÉSENTATION DES NOMBRES SUR ORDINATEUR
Pour une machine avec des mots dont la mantisse comporte p bits et lorsqu’on arrondit.
Prenons la représentation du nombre 1 et le plus proche nombre suivant :
10