Semaine 3 · Jour 2 · Dangers

Les nombres dans la machine

Le diaporama t'a montré que 0.1 + 0.2 n'est pas tout a fait 0.3. Ici, on ouvre le capot : comment un ordinateur range vraiment les nombres, dans quel ordre, et les catastrophes bien reelles que ces details ont provoquees.

Un nombre, pour la machine, c'est une suite de 0 et de 1 rangee dans un espace de taille fixe. Trois questions en decoulent : comment ces bits codent une valeur (IEEE 754), dans quel ordre les octets sont ranges (endianness), et ce qui arrive quand on oublie ces limites (les catastrophes). Choisis ta porte.

🔢

La representation des reels

Signe, exposant, mantisse : les trois morceaux d'un float sur 64 bits, la formule qui les relie, l'epsilon machine, et une demo qui decompose n'importe quel nombre en bits reels.

Ouvrir →
🔀

Little & big endian

Dans quel ordre les octets d'un nombre sont-ils ranges en memoire ? Le grand bout d'abord, ou le petit ? Pourquoi ca compte des qu'on echange des donnees entre machines.

Ouvrir →
💥

Catastrophes numeriques

Ariane 5, le missile Patriot, le Therac-25, Mars Climate Orbiter... Quand un mauvais format de nombre a coute des fusees, des millions, et des vies.

Ouvrir →
🎲

Les erreurs d'arrondi

Le rappel pratique : pourquoi 0.1 + 0.2 derape, l'accumulation qui s'amplifie, et les reflexes pour s'en proteger. (Page complementaire deja en ligne.)

Y aller →