CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C++] Différence float/double

Pseudo supprimé
Pseudo supprimé 15 février 2013 à 13:48:24

Salut à tous,

Je viens d'avoir un semestre de C++ à l'uni et j'ai profité de ces vacances pour revoir un peu tout ça (branche imposée + pas mon truc :noel: ).
Hier, j'ai lu la partie traitant sur les types float et double mais je ne saisis pas exactement la différence entre les deux.

Voici ce que j'ai compris pour le moment :
Les 2 types permettent d'exprimer les nombres "à virgule" avec une différence notamment dans l'écriture (où un float comporte un "f" à la fin et un double s'écrit en notation scientifique).
Le type double serait également plus vaste que le type float et "englobe" ce dernier.

Est-ce à peu près tout ou y a-t-il d'autres différences ? En général, on utilisera plutôt lequel ?

Voilà, je vous remercie d'avance :)

PocoIo
PocoIo
Niveau 10
15 février 2013 à 14:08:45

Dans la plupart des implémentations un float tient sur 4 octets et un double (pour "double précision") sur 8 octets, donc un double te permet d'avoir une plus grande précision, dit de façon grossière ça te permet d'avoir plus de chiffres après la virgule.

Après si tu veux vraiment tout savoir il faut te renseigner sur la façon dont sont codés les réels en machine. A noter aussi que certains réels ne peuvent pas être représentés de façon exacte sur un ordinateur, c'est un détail important car il se peut notamment que des tests d'égalité sur des réels ne renvoient pas le résultat attendu.

Et sinon pour répondre au "En général, on utilisera plutôt lequel ? ", en général quand on sait pas trop on prend plutôt un double mais ça dépend vraiment de tes besoins.

Pseudo supprimé
Pseudo supprimé 15 février 2013 à 14:20:00

D'accord, merci beaucoup pour ta réponse :ok:

vive_cod4
vive_cod4
Niveau 9
15 février 2013 à 14:38:20

Je tiens à rajouter, comme le dit Pocolo, pour la comparaison de nombres flottants, il est fortement conseillé de faire une différence absolue entre les 2 variables et regarder si la différence est inférieur à un certain espilon (que l'on définit selon les cas).

Pseudo supprimé
Pseudo supprimé 15 février 2013 à 19:54:19

Il faut aussi savoir que certains valeurs ne peuvent pas être représentées avec les floats et les doubles. Par exemple, il est impossible de représenter 0.1 avec un float. Tu auras juste une approximation.

Pseudo supprimé
Pseudo supprimé 15 février 2013 à 21:52:43

la bible du float: http://perso.ens-lyon.fr/jean-michel.muller/goldberg.pdf

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment