TD n° 2
Exercice 1 :
Pour a égal à 49 et 50, utilisez le format en double précision (64 bits) pour réaliser les opérations
suivantes :
1
𝑥=
𝑎
𝑦 =𝑎×𝑥
𝑧 =1−𝑦
Expliquer les résultats obtenus.
Exercice 2 : Dépassement(overflow)
Dans un format de virgule flottante en double précision (64 bits), trouvez le résultat de l'opération
suivante:
1 × 10308 + 1 × 10308
Justifier le résultat obtenu.
Exercice 3 : Sous-dépassement (underflow)
Utilisez un format en virgule flottante en simple précision (32 bits) et calculez le résultat de l'opération
suivante sans sous-dépassement :
10−38
2 × 10−39
Justifier le résultat obtenu.
Utilisez un format en simple précision puis en double précision pour calculer le résultat de l’opération
2
suivante : 3×1045
Comparer les deux résultats.
Exercice 4 : Précision machine
Proposer un algorithme pour calculer la précision machine 𝜀𝑚𝑎𝑐ℎ en simple et double précision.
Comparer avec la valeur théorique 𝜀𝑚𝑎𝑐ℎ = 2−𝑚−1 , avec m égale à 23 en simple précision et 52 en
double précision.
Exercice 5 :
Proposer un algorithme pour déterminer la plage de représentation d’un format en virgule flottante
en simple précision.
1
Exercice 6 : Normalisation
𝑥𝑖
La série de Taylor pour 𝑒 𝑥 est donnée par ∑+∞ 𝑥
𝑖=0 𝑖! . Nous utilisons l’approximation suivante 𝑒 ≈ 1 +
𝑥2 𝑥3 𝑥𝑛
𝑥+ 2!
+ 3!
+ ⋯+ 𝑛!
pour une valeur fixe de n.
Si n = 20, le terme de reste de 𝑒 𝑥 pour |x| ≤ 1 est inférieur à l'arrondi unitaire en double précision. En
utilisant cette approximation pour x = ±1, calculez une estimation de 𝑒 +1 × 𝑒 −1. Si cela était fait en
arithmétique exacte, vous obtiendriez exactement un. Quelle est la différence entre la valeur
approximée de 𝑒 +1 × 𝑒 −1 et un ?
Exercice 7 : Précision en simple précision
Calculez la valeur de π en utilisant la formule π = 4(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...). Utilisez la
simple précision (32 bits) et comparez le résultat avec la valeur mathématique de π. Discutez de
l'erreur d'arrondi.
Exercice 8 : Stabilité numérique
Résolvez l'équation quadratique 10−3 𝑥 2 + 105 𝑥 + 1 = 0 en utilisant les deux formules suivantes :
−𝑏 ± √Δ 2𝑐
𝑥= ; 𝑥=
2𝑎 −𝑏 ± √Δ
Comment les erreurs d'arrondi affectent-elles les solutions ?
Exercice 9: Stabilité numérique 2
Effectuez les calculs suivants : commencez par définir initialement x à 2 ; puis répétez 𝑥 ← √𝑥
20 fois, et ensuite répétez 𝑥 ← 𝑥 2 20 fois. Si tout a été fait en arithmétique exacte, vous obtiendriez
exactement 2 comme valeur finale de x. Qu'obtenez-vous ? Expliquer pourquoi ?
Exercice 10 :
(𝑒 𝑥 −𝑒 −𝑥 )
La fonction tangente hyperbolique tanh 𝑥 = (𝑒 𝑥 +𝑒 −𝑥 ), lorsqu'elle est implémentée de cette manière,
renvoie NaN (Not-a-Number) lorsque x est grand, par exemple, lorsque x = ±1000 en utilisant la
double précision. Écrivez une nouvelle implémentation qui produit des valeurs précises tout en évitant
de générer des NaN ou des dépassements.
Exercice 11 : Algorithme de sommation de Kahan
Implémentez l'algorithme de sommation de Kahan pour réduire les erreurs d'arrondi lors de la
sommation d'une grande série de nombres. Appliquez cet algorithme à la somme des premiers 1 000
000 nombres inverses en simple précision.
Exercice 12 : Évaluation de fonctions
Utilisez une bibliothèque de mathématiques en virgule flottante pour évaluer la fonction
trigonométrique sin(x) pour des valeurs de x proches de π/2 en simple précision. Comparez les
résultats avec la valeur mathématique attendue.