[C] Division

jéj -  
 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?

8 réponses

Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
p'tet en castant
req_acc = (float)(freq/(tps_acc)); 


et puis vérifie bien avant si tps_acc != 0

Zep3k!GnO
1
jéj
 
réctification:
en faite je n'ai pa de chifrre apre la virgule ce qui est surtout quan le resultat est 0,"quelquechose"
0
jéj
 
non, je n'ai toujours pas de chiffre apres la virgule
0
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 

non, je n'ai toujours pas de chiffre apres la virgule

et si tu fais
5 / 3 , Toujours pas de virgules ? :)

Zep3k!Gno
0
matmat27 Messages postés 594 Date d'inscription   Statut Membre Dernière intervention   147
 
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....).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Misdrhaal Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   16
 
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
0
crabs Messages postés 908 Date d'inscription   Statut Membre Dernière intervention   507
 
Salut,
Si tu ne peux pas déclarer en float :
req_acc = ((float)freq)/((float)tps_acc); 

A+, crabs
0
mehdi
 
salut euh ça va mdr je me sui inscri comme sa pour parlé allé a+ parlé moi^^
0
jade chauni
 
refait ta division tu as peut aitre oublier un chiffre fait le sur la calculatrice pui éssais de trouver le memme resultat
sa va surment taider . sinon g un cite www.comment fair une division .com
tu as surement ublier une retenut !!!!!!!!!!
0