Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
826 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Warning a cause de Structures et Float...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Warning a cause de Structures et Float...

n°1033508
finch911
Posté le 03-04-2005 à 12:01:32  profilanswer
 

Bonjour,
j'ai pas mal de warning de ce type lorsque je compile mon programme
"warning C4305: 'initializing' : truncation from 'const double ' to 'float '"
 
En fait, mon programme contient une structures:
 
typedef struct {
    int numonenclature;
    char intituler [50];
    float montantvipo;
    float montantao;
    float ticketmod;
} examen;
 
 
Je déclare le tableau de la structures avec ces valeurs:
 
examen tabe[LGMAXE]={470750,"EGG",15.48,13.16,2.32,
                         475812,"ECG effort",30.58,26,4.58,
                         469814,"Echo couleur",62.32,59.84,2.48,
                         475893,"Contrôle VVI",30.16,25.64,4.52,
                         477893,"Contrôle défibrillateur",100.54,91.86,8.68,
                         475650,"Doppler bilatéral",15.08,12.82,2.26,
                         475532,"Epreuve de stress",25.13,21.37,3.76,
                         476210,"Holter",65.23,56.55,8.68};
 
 
Il me met 3 Warning (cité plus haut) par ligne, correspondant je suppose au 3 nombre float que j'initiialise dans chaque ligne.
 
 
Je vois vraiment pas ce qui pose problème!?!

mood
Publicité
Posté le 03-04-2005 à 12:01:32  profilanswer
 

n°1033517
Emmanuel D​elahaye
C is a sharp tool
Posté le 03-04-2005 à 12:17:10  profilanswer
 

finch911 a écrit :

j'ai pas mal de warning de ce type lorsque je compile mon programme
"warning C4305: 'initializing' : truncation from 'const double ' to 'float '"
 
typedef struct {
    int numonenclature;
    char intituler [50];
    float montantvipo;
    float montantao;
    float ticketmod;
} examen;


Passe tout en 'double'. C'est le type natif pour les calculs en virgule flottante. 'float' n'est utilise que pour réduire la taille des gros volumes de données (avec une perte de précision, bien sûr).


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1033526
finch911
Posté le 03-04-2005 à 12:44:06  profilanswer
 

Merci pour ta réponse! Ca marche!

n°1033554
Taz
bisounours-codeur
Posté le 03-04-2005 à 14:03:47  profilanswer
 

Emmanuel Delahaye a écrit :

Passe tout en 'double'. C'est le type natif pour les calculs en virgule flottante. 'float' n'est utilise que pour réduire la taille des gros volumes de données (avec une perte de précision, bien sûr).


bof, moi je passe tout en float. C99 autorise que les calculs soit fait en float ... et c'est significativement plus rapide sur mes applications.
 
Mais la vrai question était : comment écrire une constante littérale ?
 
3.14 un double
3.14f un float

n°1035256
matafan
Posté le 05-04-2005 à 03:47:10  profilanswer
 

Tout à fait, les float ne sont pas à bannir. C'est plus rapide sur certaines architectres. AMD par exemple recommande d'utiliser float plutôt que double pour la rapidité.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Warning a cause de Structures et Float...

 

Sujets relatifs
strcmp entre 2 structures[STL] warning génants avec borland
[CSS] Astuce <div class="clr"> sur le floatLayers décentrés à cause des include ...
[CSS] Problème avec boite en floatProbleme php/MySQL : "Warning mysql_num_rows()"
Probleme MySQL : "Warning mysql_num_rows()"ecrire un float dans un wxTextCtrl (wxWidgets)
eviter les warningconversion d'un float en String avec java
Plus de sujets relatifs à : Warning a cause de Structures et Float...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR