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

  FORUM HardWare.fr
  Programmation

  [C] conversion de short int en double!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] conversion de short int en double!!

n°33291
BIGBEN2
Posté le 20-05-2001 à 15:41:50  profilanswer
 

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
@+


---------------
http://www.programmation-fr.com
mood
Publicité
Posté le 20-05-2001 à 15:41:50  profilanswer
 

n°33293
zop
1 world, 1 web, 1 Windows
Posté le 20-05-2001 à 15:45:37  profilanswer
 

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.

n°33299
BIGBEN2
Posté le 20-05-2001 à 16:49:09  profilanswer
 

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
@+


---------------
http://www.programmation-fr.com
n°33319
gilou
Modérateur
Modzilla
Posté le 20-05-2001 à 21:34:21  profilanswer
 

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+;


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°33320
la viper
Posté le 20-05-2001 à 22:15:52  profilanswer
 

il faut faire un cast (double)
 
et peut etre aussi un mask
 
int x;
double y = (0x00FF) & ((double) x);

n°33330
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-05-2001 à 00:15:04  profilanswer
 

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.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

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

  [C] conversion de short int en double!!

 

Sujets relatifs
[ASP] Conversion nombre en chaine de car.. ???[JAVA]double buffer
[Access-VB] Conversion d'objets......[JAVA] - Conversion BufferedImage de Noir/Blanc => Couleurs ???
Conversion jpg->bmp automatiqueConversion Hexa vers décimal
conversion en c++WinSock : envoyer un tableau d'integer, double ... (VB)
Conversion Access -> MYSQL[C] Operation de conversion sur les bits
Plus de sujets relatifs à : [C] conversion de short int en double!!


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