Division float par float en c++
joe amouz
Messages postés
12
Statut
Membre
-
joe amouz -
joe amouz -
Bonjour à tous,
Je travaille actuellement sur un exercice en c++, j'aimerais récupérer le quotient entier de la division d'un float par un float. S'il vous plait est-ce possible ? Si c'est le cas comment faire parce que je m'en sort pas.nMerci d'avance.
Je travaille actuellement sur un exercice en c++, j'aimerais récupérer le quotient entier de la division d'un float par un float. S'il vous plait est-ce possible ? Si c'est le cas comment faire parce que je m'en sort pas.nMerci d'avance.
4 réponses
-
#include <math.h>
value = round(x);
et -lm dans gcc-
-
-
-
http://www.manpagez.com/man/3/round/ :
The round() , lround() , and llround() functions conform to ISO/IEC
9899:1999(E)
il est présent dans les pages de man... Tu a vu où qu'il n'était pas standard ? il est standard C99, au moins. -
-
-
int(x/y);
-
faudra peut-être forcer le résultat à prendre la forme d'un entier:
float x,y;
cout<<(int)(x/y)<<endl;-
-
-
-
-
BOB-XM2,
Je suis d'accord avec toi.
C'est pour ça qu'en faisant : lround(x-0.5), on obtient systématiquement le nombre inférieur.
Je ne vois pas en quoi le cast en int génère une erreur. Cela tronquera juste le nombre. Donc, t'obtiendras également le nombre inférieur.
Le seul problème est que cela ne marche pas pour les dividendes négatifs. C'est pourquoi, il faut se faire soi-même la fonction.
-
-
pour être sur de parler de la même chose :
http://www.educationbug.org/a/division.html
dividende/diviseur=quotient.
donc floor(x/y) c'est pas ce qu'il y a de mieux ? après tout, rien ne dit qu'on doit transformer en entier.