Les bonnes réponses sont :

 12 + 4 > 16   5.2 - 1.2 <= 2.0 + 2   2 * 3 - 4 == 1 + 1 
false  true  true 

Danger avec la comparaison de doubles 


Quel est à votre avis le résultat de l'expression booléenne suivante :
4.0/3.0 == 1.0 + 1.0/3.0
Vous pensez probablement que c'est true. Ca l'est probablement. Mais ce n'est pas certain. L'arithmétique flottante n'est pas une arithmétique exacte et pour des résultats précis, vous ne devrez jamais faire confiance à une comparaison "d'exacte égalité" entre flottants. Le problème provient du fait que certains nombres nécessitent un nombre illimités de bits pour les représenter avec exactitude. Meme avec un double de 64 bits il y aura une petite erreur. un aute exemple, meme l'expression suivante pourrait etre false:
10.0 + 0.1 == 10.1
Parfois, lorsqu'une précision exacte est nécessaire, l'arithmétique entière doit eter utilisée. C'est une des raisons pour laquelle Java possède des entiers long codés sur 64 bits.

QUESTION 5:

L'expression suivante est-elle vraie ?
100 + 1 == 101
En êtes vous bien sûr ?