Aller au contenu
AFUP AFUP Day 2025 Baromètre Planète PHP PUFA
 

Pourquoi 0.1 + 0.2 != 0.3, ou le monde mystérieux des nombres à virgule flottante.

Description

Et oui, si vous exécutez le code ci-dessus en PHP, et dans la plupart des autres langages, celui-ci vous confirmera bien que 0.1 + 0.2 n'est pas égal à 0.3.

Mais ce comportement étrange peut s'expliquer, voire même se justifier.

Les nombres à virgule flottante ont le pouvoir de nous ouvrir un univers complet et souvent peu compris. À condition bien sûr de les utiliser correctement.

Cette conférence présentera un peu de théorie et beaucoup d'exemples concrets.

De la Première Guerre du Golfe, au moteur de rendu graphique de Quake, en passant par le fusée spatiale Ariane 5, nous verrons ensemble les avantages et les dangers potentiels de l'utilisation des nombres à virgule flottante.

Nous tirerons de ces exemples des leçons que nous pouvons appliquer sur nos pratiques de développement quotidiennes.

La conférence couvrira également quand utiliser les nombre à virgule flottante, et quand les éviter (prix, facturation), et quelles sont les alternatives.

Conférence donnée lors du Forum PHP 2020, ayant eu lieu les 22 et 23 octobre 2020.

Informations complémentaires

Vidéo

Le speaker

Benoit JACQUEMONT

Benoit Jacquemont est tombé dans le web en 2000 après avoir une première expérience sur des logiciels d'encaissements. De Java à PHP, de Oracle à MySQL et des applications de gestions aux sites de eCommerce, il roule sa bosse sur les projets, toujours à forte composante OpenSource, au sein du groupe Smile. Il en devient le CTO en 2009 alors que l'entreprise compte près de 450 salariés. En janvier 2013, il co-fonde Akeneo avec Frédéric de Gombert, Nicolas Dupont et Yoav Kutner. L'aventure startup commence alors pour lui, en tant que CTO d'Akeneo.

Commentaires

Comme toujours, bonne présentation Benoit
Grégory Planchat, le 23/10/2020
Merci pour cette conférence précise sur ce sujet complexe
Stéphan, le 23/10/2020
Génial comme conférence, j'ai appris beaucoup de chose et compris certains bug! Promis, je vais corriger mon algo pour le prochain lancement space x :P Merci
Fabien Perrichon, le 23/10/2020
Honnêtement c'est pas souvent qu'une présentation sur des maths me paraît trop courte ! Merci pour cette présentation !
Magali Milbergue, le 23/10/2020
Excellente présentation riche en exemple concret et éclairant.
Cédric Forunier, le 23/10/2020
Merci pour cette belle leçon, j'ai été confronté au problème d'approximation sur les prix pas plus tard que cette année !
Jordan Aubert, le 23/10/2020
Super intéressant pour un développeur PHP mais aussi pour les autres.
François D., le 23/10/2020
Super conférence, très intéressante ! Tes exemples étaient très bien choisis et très parlant.
Nicolas Loye, le 23/10/2020
Une explication claire du fonctionnement des nombres à virgule flottante !
Solène Garda-Krebs, le 23/10/2020
Très bonne présentation, tant sur le fond que sur la forme. Merci
S., le 23/10/2020
Super intéressant
Florent Damiens, le 23/10/2020
Je pensais déjà savoir ce qu'il y avait à savoir (on utilise des entiers pour les prix depuis longtemps et ça fait longtemps que j'ai arrêté de vouloir comparer des flottants), mais j'ai compris comment ça marche, j'ai compris pourquoi c'est fourbe, et je connais de nouveaux points de vigilance dont je n'avais pas idée. Merci Benoît, j'ai hâte de voir ta prochaine conf. :)
Agnès Haasser, le 24/10/2020