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

 


Dernière réponse
Sujet : [C] conversion de short int en double!!
antp

bigben2 a écrit a écrit :

Lors je recifie mon problem.
Mon tableau est bien definit en double mais dans ma boucle de stockage de données j'aie:
fscanf(fis,"%hd",&tab[nm][nm]);
Et si je met:
fscanf(fis,"%lf",&tab[nm][nm]);
ca ne marche pas car cela ne stocke pas les bons nombres dans le tableaus.
Ca ne stocke d'ailleur rien du tout!
QUE FAIRE  
MARCI
@+




 
 
moi je ferais un scanf d'un chaine (%s) et ensuite je la convertirais en double avec strtod.


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
antp

bigben2 a écrit a écrit :

Lors je recifie mon problem.
Mon tableau est bien definit en double mais dans ma boucle de stockage de données j'aie:
fscanf(fis,"%hd",&tab[nm][nm]);
Et si je met:
fscanf(fis,"%lf",&tab[nm][nm]);
ca ne marche pas car cela ne stocke pas les bons nombres dans le tableaus.
Ca ne stocke d'ailleur rien du tout!
QUE FAIRE  
MARCI
@+




 
 
moi je ferais un scanf d'un chaine (%s) et ensuite je la convertirais en double avec strtod.

la viper il faut faire un cast (double)
 
et peut etre aussi un mask
 
int x;
double y = (0x00FF) & ((double) x);
gilou C'est pas la meilleure reponse, mais d'apres tes posts, ceci devrait resoudre ton pb.
 
int x;
 
fscanf(fis,"%hd",&x);  
tab[nm][nm]= (double) x;
 
A+;
BIGBEN2 Lors je recifie mon problem.
Mon tableau est bien definit en double mais dans ma boucle de stockage de données j'aie:
fscanf(fis,"%hd",&tab[nm][nm]);
Et si je met:
fscanf(fis,"%lf",&tab[nm][nm]);
ca ne marche pas car cela ne stocke pas les bons nombres dans le tableaus.
Ca ne stocke d'ailleur rien du tout!
QUE FAIRE  
MARCI
@+
zop SI ton ton tableau tabint est défini en tant que tableau d'entiers, c'est normal que tu ne puisses qu'y stocker des entiers...
Il faudrait que tu crées un autre tableau, mais de double, pour y stocker des doubles.
BIGBEN2 Voila a partir d'un fichier je stocke dans un tableau de finit en short int des entiers.
JE desirerais convertir ce tableau d'entier en tableau de double.
j'aie essayer ceci mais ca marche pas!
 
for (j=0;j<nm;j=j+1)
for (i=0;i<nm;i=i+1)
tabint[i][j]=(double)tabint[i][j];
 
je dois le faire car apres je fais un produit matricielle avec un autre tableau qui lui est en double mais dans ma fonction qui fais le produit matricielle les paramettre sont definit en double.
La convercion implicite ne marche pas non plus j'aie tout le temps  le resultat NAN (Not A Number)
 
QUE FAIRE!!
Merci de m'aider
@+

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)