diff --git a/slides/cours_5.md b/slides/cours_5.md index 105fe25329a179eefe7e43fb6faf090a009ac271..90e3c48ca1bd9d2eaa93146364a34614afeee862 100644 --- a/slides/cours_5.md +++ b/slides/cours_5.md @@ -507,12 +507,67 @@ $$ . . . * 24 bits ($23 + 1$) sont utiles pour la mantisse, soit $2^{24}-1$: - * $\sim2^{24}-1\sim 10^7$, ou encore - * $\sim \log_10(2^{24})\sim 7$, + * $\sim2^{24}\sim 10^7$, ou encore + * $\sim \log_{10}(2^{24})\sim 7$, * Environ **sept** chiffres significatifs. +# Nombres à virgule flottante double précision (64bits) + +## Spécification + +* 1 bit de signe, +* 11 bits d'exposant, +* 52 bits de mantisse. + +. . . + +## Combien de chiffres significatifs? + +* $\sim 2^{53}\sim10^{16}$, +* $\sim \log_{10}(2^{53})\sim 16$, +* Environ **seize** chiffres significatifs. + +## Plus petit/plus grand nombre représentable? + +. . . + +* $\sim 2^{-52}\cdot 2^{-1022}\sim 4\cdot 10^{-324}$, +* $\sim 2\cdot 2^{1023}\sim \cdot 1.8\cdot 10^{308}$. + +# Précision finie + +## Erreur de représentation + +* Les nombres réels ont potentiellement un **nombre infini** de décimales + * $1/3=0.\overline{3}$, + * $\pi=3.1415926535...$. +* Les nombres à virgule flottante peuvent en représenter qu'un **nombre + fini**. + * $1/3\cong 0.33333$, erreur $0.00000\overline{3}$. + * $\pi\cong3.14159$, erreur $0.0000026535...$. + +On rencontre donc des **erreurs de représentation** ou **erreurs +d'arrondi**. + +. . . + +## Et quand on calcule? + +* Avec deux chiffres significatifs + +\begin{align} +&8.9+(0.02+0.04)=8.96=9.0,\\ +&(8.9+0.02)+0.04=8.9+0.04=8.9. +\end{align} + +. . . + +## Même pas associatif! + # Erreurs d'arrondi + + <!-- # TODO -- <!-- ## Entiers, entiers non-signés -->