Adloun

programmation Java (école d'ingénieur) · Chapitre 2 · Exercice de TD

Trois dixièmes

Types, variables et expressions · niveau 2

Énoncé

Que valent 0.1 * 3 et 0.1 * 3 == 0.3 ? Et la somme de dix fois 0.1 ? Comment tester correctement si deux double sont égaux ?

Corrigé


0.30000000000000004
false
true
0.9999999999999999

(Lignes : 0.1 * 3, x == 0.3, le test à près, puis la somme de dix 0.1, programme TroisDixiemes dans le dossier du chapitre.) n'a pas d'écriture binaire finie : chaque opération arrondit, et les erreurs s'accumulent. On teste l'égalité « à près » : Math.abs(x - 0.3) < 1e-9, en choisissant selon l'ordre de grandeur des nombres manipulés.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →