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

  FORUM HardWare.fr
  Programmation
  C++

  division d un float

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

division d un float

n°1048296
treza22
Posté le 15-04-2005 à 09:28:57  profilanswer
 

Bonjour,  
J ai une petite question: comment on fait une division d un reel en C++?  
J ai utilisé  
float a, b, c;  
a= b/c;  
or il me donne la partie entiere de b divisé par c!  
Quelqu un sait comment récupérer la valeur réelle de a?  
Merci d avance

mood
Publicité
Posté le 15-04-2005 à 09:28:57  profilanswer
 

n°1048315
Taz
bisounours-codeur
Posté le 15-04-2005 à 09:36:39  profilanswer
 

faux.


Message édité par Taz le 15-04-2005 à 09:36:47
n°1048328
treza22
Posté le 15-04-2005 à 09:43:07  profilanswer
 

faux quoi?

n°1048338
Taz
bisounours-codeur
Posté le 15-04-2005 à 09:46:45  profilanswer
 

[quote]float a, b, c;  
a= b/c;  
or il me donne la partie entiere de b divisé par c! [/fixed]

n°1048346
treza22
Posté le 15-04-2005 à 09:49:53  profilanswer
 

ben je sais vu qu il me met la partie entiere mais que dois je mettre alors????

n°1048368
LeGreg
Posté le 15-04-2005 à 10:03:14  profilanswer
 

Ce que taz essaie de dire (je traduis ;) )
 
c'est que a=b/c; devrait donner la division d'un flottant par un autre flottant. Enfin si a b et c sont bien déclarés comme flottants.
 
Donc ton erreur doit venir d'un autre endroit de ton code.
 
Est-ce que tu es sur de ne pas tronquer b avant ?

n°1048397
Lam's
Profil: bas.
Posté le 15-04-2005 à 10:18:59  profilanswer
 

treza22 a écrit :

Bonjour,  
J ai une petite question: comment on fait une division d un reel en C++?  
J ai utilisé  
float a, b, c;  
a= b/c;  
or il me donne la partie entiere de b divisé par c!  
Quelqu un sait comment récupérer la valeur réelle de a?  
Merci d avance


Nan, ça, ça ne donne rien, ça fait juste un calcul: c'est le soleil qui donne.
 
Tu dois sans doute afficher ce résultat à un moment donné, et il est donc probable que ton affichage soit légèrement érroné.

n°1048407
treza22
Posté le 15-04-2005 à 10:24:49  profilanswer
 

Ha ok ca y est ca marche mais c est vraiment galere: ne pas pouvoir avoir un float quand on divise 2 entiers c est pas normal!
Mais bon c est les defaults du C et puis voila!
Je vous remercie tous les deux dans tous les cas!
Bye

n°1048408
treza22
Posté le 15-04-2005 à 10:25:28  profilanswer
 

excuse merci à tous les 3!

n°1048414
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 15-04-2005 à 10:29:19  profilanswer
 

treza22 a écrit :

Ha ok ca y est ca marche mais c est vraiment galere: ne pas pouvoir avoir un float quand on divise 2 entiers c est pas normal!
Mais bon c est les defaults du C et puis voila!
Je vous remercie tous les deux dans tous les cas!
Bye


 
c'est quand même ce qui se passe en C, C++, Java....


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
mood
Publicité
Posté le 15-04-2005 à 10:29:19  profilanswer
 

n°1048426
Joel F
Real men use unique_ptr
Posté le 15-04-2005 à 10:36:44  profilanswer
 

treza22 a écrit :


ne pas pouvoir avoir un float quand on divise 2 entiers c est pas normal!


 
bah faisons une petition [:pingouino]
 
renseignes toi sur le typage dans les langages et tu verras que c'est pas si trivial ...

n°1048446
skelter
Posté le 15-04-2005 à 10:58:31  profilanswer
 

treza22 a écrit :

Ha ok ca y est ca marche mais c est vraiment galere: ne pas pouvoir avoir un float quand on divise 2 entiers c est pas normal!
Mais bon c est les defaults du C et puis voila!
Je vous remercie tous les deux dans tous les cas!
Bye


 
ce n'est pas un defaut, la division d'un entier par un autre c'est une division euclidienne qui retourne naturellement un quotient et un reste

n°1048458
LordHarryP​otter
Posté le 15-04-2005 à 11:08:54  profilanswer
 

sache que la division pour les entiers renvoie un entier. puis dans ton cas, il fait la conversion (de la division entière) en flotant, c'est tout à fait normal. La division entière n'a rien à voir (entre guillemets) avec la division pour floattant :p
Mais par abus de notation on utilise le meme signe "/". Mais si tu tiens ant queçà à avoirun signe différent je te conseille OCAML qui utilise le signe "/" pour la division d'entier et "./" pour la division floattant en sachant que "a./b" si a et b sont des entiers ben çà plante :o
 
Bon alors avant de dire c'est pas normal, vérifie ce que tu dis.

n°1049117
Sve@r
Posté le 15-04-2005 à 19:43:51  profilanswer
 

treza22 a écrit :

Ha ok ca y est ca marche mais c est vraiment galere: ne pas pouvoir avoir un float quand on divise 2 entiers c est pas normal!
Mais bon c est les defaults du C et puis voila!
Je vous remercie tous les deux dans tous les cas!
Bye


 
C'est pas un défaut, c'est standard
Si tu écrits "float a=7/3"; le C calcule d'abord "7/3" dans le typage le plus large de ces deux constantes (à savoir int) et met le résultat dans un flottant
 
Si tu veux diviser en flottant, utilise la notation "constante float" => t'as plein de possibilités
float a=7.0/3;
float a=7/3.0;
float a=7.0/3.0;
float a=(float)7/3;
etc etc
Le C prendra le typage le plus large pour faire la division
 
PS: C'est un topic C, pas C++


Message édité par Sve@r le 15-04-2005 à 19:45:02

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

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

  division d un float

 

Sujets relatifs
float point error : domainWarning a cause de Structures et Float...
[CSS] Astuce <div class="clr"> sur le float[CSS] Problème avec boite en float
ecrire un float dans un wxTextCtrl (wxWidgets)conversion d'un float en String avec java
[c]pb pour gérer des floatPB sum de float avec MySQL
double, float, int : resultat inattendu sur un castConnaître la plus grande valeur d'un float ? [Résolu]
Plus de sujets relatifs à : division d un float


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)