[C] Division
jéj
-
jade chauni -
jade chauni -
Bonjour,
Je voudrai faire une division mai celle ci ne se réalise pas lorque le resulta n'esta pas entier alors que j'ai déclaré ma variable en float.
float freq_acc;
int freq;
unsigned int tps_acc;
freq_acc = freq/(tps_acc);
c peut etre a cause des differents types de variables?
Je voudrai faire une division mai celle ci ne se réalise pas lorque le resulta n'esta pas entier alors que j'ai déclaré ma variable en float.
float freq_acc;
int freq;
unsigned int tps_acc;
freq_acc = freq/(tps_acc);
c peut etre a cause des differents types de variables?
A voir également:
- [C] Division
- Microsoft skype division - Télécharger - Téléphonie & Visio
- Excel division avec virgule - Forum Excel
- Division euclidienne ti 83 - Forum Logiciels
- Signe division clavier azerty ✓ - Forum Clavier
- Signe division clavier ✓ - Forum Réseaux sociaux
8 réponses
p'tet en castant
et puis vérifie bien avant si tps_acc != 0
Zep3k!GnO
req_acc = (float)(freq/(tps_acc));
et puis vérifie bien avant si tps_acc != 0
Zep3k!GnO
réctification:
en faite je n'ai pa de chifrre apre la virgule ce qui est surtout quan le resultat est 0,"quelquechose"
en faite je n'ai pa de chifrre apre la virgule ce qui est surtout quan le resultat est 0,"quelquechose"
Salut,
le résultat de ta division est un float mais les nombres dans ton opération qui sont des int donc je te conseille de déclarer toutes tes variables en float (normalement ça devrait marcher....).
le résultat de ta division est un float mais les nombres dans ton opération qui sont des int donc je te conseille de déclarer toutes tes variables en float (normalement ça devrait marcher....).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
float freq_acc; //Ok c'est un float
int freq; //Un int
unsigned int tps_acc; //un autre int
freq_acc = freq/(tps_acc);
Donc si on regarde l'expression typée cela donne :
float = int/uint
Le membre de droite est donc un int, tu fais donc un cast implicite de ton float de gauche en int
Pour avoir des chiffres apres la virgule suffit de tout déclarer en float
int freq; //Un int
unsigned int tps_acc; //un autre int
freq_acc = freq/(tps_acc);
Donc si on regarde l'expression typée cela donne :
float = int/uint
Le membre de droite est donc un int, tu fais donc un cast implicite de ton float de gauche en int
Pour avoir des chiffres apres la virgule suffit de tout déclarer en float