begin process at 2012 05 29 22:40:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Problème de transtypage


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de transtypage

mardi 17 mai 2005 à 10:53:00 | Problème de transtypage

milie_k33

Bonjour,

Je suis actuellement sur la création d'un programme en C où je calcule de des doubles assez grands. Mon problème arrive quand je souhaite transtyper ce double en int (donc prendre la partie entière). Il se trouve que lorsque mon double est un nombre avec une virgule (genre 917,0025635), mon transtypage ne marche (il me resoort un truc énorme explose le tableau dans lequel je le met).
J'ai essayé du transtypage bête et méchant avec des doubles ou des float. J'ai essayé d'utiliser ceil ou floor de math.h avec des doubles ou des float, mais ça ne marche pas.
Quelqu'un aurait-il une solution à ce problème ?

Merci d'avance

Milie_k33 

P.S: mon bout de code est celui-ci:

r=((i-(width/2))*sin((double)(omega*conv))+(j-(length/2))*cos((double)(omega*conv)));
avec r en int

mardi 17 mai 2005 à 11:03:40 | Re : Problème de transtypage

ymca2003

Réponse acceptée !
normalement :
double d = 917.0025635; // ou résultat d'un calcul quelconque
int r = (int)d;

=> r = 917;

Par contre il faut faire attention à ce que d soit entre -2^31 et +2^31-1 (sur machine 32 bits) pour ne pas avoir d'overflow du type int.
mardi 17 mai 2005 à 13:11:03 | Re : Problème de transtypage

milie_k33

Ca ne marche toujours pas.
En fait, quand je calcule r=((i-(width/2))*sin((double)(omega*conv))+(j-(length/2))*cos((double)(omega*conv))); avec r en double, il me sort, pour i et j =0, width =600, omega=1, conv=pi/180 et length=1834, r=4369269744,4641476 ??? alors que ça devrait être -917.0913427 ! Donc (int)r me donne n'importe quoi, normal !
Je ne comprends pas. De plus, quand je calcule avec omega=0, r=4294966379.0000000, et il me ressort bien (int)r= -917 !!!.

Je ne comprends pas !


Milie_k33 



Cette discussion est classée dans : problème, int, double, doubles, transtypage


Répondre à ce message

Sujets en rapport avec ce message

Problème de "pression de touches" [ par Quiske ] Bonjour tout le monde , je suis un programmeur débutant jeune 14 - 15 ans qui a un problème :Je voudrais dire a l'ordinateur que j'appuie sur une tou Problème de compilation (VC++) [ par vecchio56 ] Est-il normal que le code suivant génère une erreur à la compilation ? (Avec Visaul C++ 6.0)int main(){ int i=5; char c[i]; return 0;} Aide [ par eikonos ] Je travail sur une dll appellé psfg.dllj'ai ces lignes suivant de codetypedef struct CAMERAPARAM_tag{int nGain;int nOffset;int bOffsetFix;int nUpperLi problème avec les templates [ par vecchio56 ] J'ai un petit problème en voulant compiler ceci (avec visual C++ 6): ////////////////////////////////////// Truc.htemplate class Truc{public: Truc(in tableau a double entrée alloué dynamiquement [ par amortlintelligence ] Voila j'aurais voulu utiliser un tableau (tableau de tableau) dans une fonction. Je pense qu'il faut donc que je le crée dynamiquement avec un code du probleme cast [ par morgandetoi06 ] svp aidez moi...j utilise la fonction pow qui renvoie un doubledonc je fait double b; // nombredouble j; // exposantdouble n; // reponsen=pow(b,j);don aide sur un algorithme en dec-C++ [ par viagra ] je souhaiterais être aidé sur un algorithme sur lequel j'éprouve des problemes. en effet lorsque je compile aussi bien au niveau de dev-c++ et MSYS, l cosinus [ par anek971 ] Bonjour ,ben avt de demander de l'aide j'ai chercher sur le forum mais ya pas le programme en c.Et en faite c juste pr une verification car mon progra Une fonction multi-type ? [ par TeLeTUbIz ] Ouah !!!J'ai cherché, scruté dans tout les coins, soulevé les montagnes,... mais je ne trouve pas solution à mon problème.En fait, je voudrais faire u Segmentation Fault....en traitement d'image [ par psysta ] Bonjour,je suis nouveau dans la programmation en C. J'ai un programme Matlab qui marche bien, et je souhaiterais l'implémenter en C. Le pgm compile bi


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,574 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales