Question pointue...

Résolu
cs_hakimus Messages postés 25 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 8 juillet 2010 - 4 mai 2010 à 16:49
cs_hakimus Messages postés 25 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 8 juillet 2010 - 5 mai 2010 à 17:06
Salut @ tous,

Petite question à peu près inutile, mais qui titille ma curiosité : A quoi sert, en C/C++, de rajouter le 'f' après un float? Dans quel(s) cas est-ce utile? Qu'est-ce que ça change?


float x = 1.0f; // != 1.0 ?



Voilà.
Si quelqu'un d'assez pointu passe par là, je mourrai moins bête

Merci!

5 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
4 mai 2010 à 17:19
Ça sert à juste à dire: mon nombre est un float. En effet, 1.0 pourrait très bien être un double.
1.0f => float
1.0l => double

Plus de détails ici: http://www.cplusplus.com/doc/tutorial/constants/

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
3
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
5 mai 2010 à 08:59
Important de préciser cela pour le compilo. Sinon, par défaut le compilo va t'écrire le nombre en double aulieu de float, ...

Bien sûr il doit y avoir des variations suivant le compilo utilisé.

@+
Arnotic,
Admin CS
3
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
5 mai 2010 à 11:20
float : codé sur 32 bit
double : codé sur 64 bit

avec du float tu peux par exemple packer par 4 (128 bit registre xmm) pour opération avec SSE.

@+
Arnotic,
Admin CS
3
cs_hakimus Messages postés 25 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 8 juillet 2010
5 mai 2010 à 11:03
Je vois, merci à vous!

Mais quelle est l'importance de spécifier que le nombre est un float?
Optimisation de mémoire? Temps de compilation? D'exécution?
La seule subtilité que je connaisse concerne les divisions flottantes, mais du moment qu'on écrit la virgule que le nombre soit un float ou un double ne change rien... à ma connaissance.

Auriez-vous un exemple de situation où il est utile de différencier un float d'un double? Ou inversement?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_hakimus Messages postés 25 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 8 juillet 2010
5 mai 2010 à 17:06
D'accord donc c'est surtout pour des questions d'optimisation à bas niveau, comme je le pensais.

Merci pour l'info.
0
Rejoignez-nous