Quand dois-je utiliser double et quand float ?

vindegosh Messages postés 1 Date d'inscription samedi 6 janvier 2024 Statut Membre Dernière intervention 6 janvier 2024 - 6 janv. 2024 à 15:36
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 6 janv. 2024 à 21:42
J'apprends Java et je ne sais pas quand choisir double ou float pour mes nombres réels ou int. J'ai l'impression que cela n'a pas d'importance car, d'après mon expérience limitée (avec Java), les deux fournissent les mêmes résultats, mais je ne veux pas aller plus loin dans la courbe d'apprentissage avec Java et avoir la mauvaise habitude d'utiliser l'un ou l'autre. mon code, et je n'ai pas la moindre idée de pourquoi. Alors, quand devriez-vous utiliser float et double ?
A voir également:

2 réponses

Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
6 janv. 2024 à 17:20

BONJOUR 

si si, on apprécie la politesse par ici.

Pour les nombres entiers, il ne faut utiliser ni float, ni double, mais int.

Pour les nombres décimaux, ça dépend de la précision dont tu as besoin. Il est impossible de représenter tous les nombres décimaux de façon informatique, car il y en a une infinité et la représentation informatique par limité par essence aux nombre de bits utilisés.

C'est pourquoi le principe de nombre à virgule flottante a été créé. Et chaque nombre est stocké par la représentation la plus proche possible.

Dans cette discussion https://forums.commentcamarche.net/forum/affich-35846831-erreur-de-calcul#3

J'ai fait une comparaison, Dalfab et Reivax ont complété


0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
6 janv. 2024 à 21:42

Bonjour,

Pourquoi préférer le float ?

Un float coûte 4 octets en mémoire, un double (comme son nom l'indique) en coûte le double : 8 octets.

Pourquoi préférer le double ?

Un float représente un nombre (binaire) avec une précision de 24 bits (environ 7 chiffres significatifs), un double a une précision de 53 bits (environ 16 chiffres).

Comment choisir ?

Il y a une dizaine d'années, le float était plus pertinent car on avait des processeurs 32 bits (la taille d'un float) qui savait calculer nativement des floats, alors que les doubles étant plus grand nécessitaient des calculs plus lourds. Aujourd'hui avec des processeurs 64 bits (la taille d'un double) on peut faire des calculs natifs avec des doubles, donc utiliser des floats c'est sous-exploiter les processeurs qui de toute façon les manipulent quand même en 64 bits.

Donc à moins d'avoir de fortes contraintes en mémoire (d'écriture dans un fichier par exemple) il vaut mieux utiliser le double et profiter d'une meilleure précision dans les calculs.


0