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

  FORUM HardWare.fr
  Programmation
  C

  problemes de divisions = résultats erronés.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problemes de divisions = résultats erronés.

n°665753
sky99
http://www.core-tx.com
Posté le 07-03-2004 à 00:42:40  profilanswer
 

Bonjour a tous.
J'ai aujourdhui un probleme avec des divisions.
 
en effet, le programme suivant :

Code :
  1. #include <stdio.h>
  2. main()
  3. {
  4. float r=10/3;
  5. printf("%f",r);
  6. }


m'affiche "3.00000".
Or 10/3=3.3333333...
 
je compile mon programme avec gcc 3.3.1 via la commande
gcc -o nom_prog nom_source.c et je l'execute tout aussi classiquement via ./nom_prog
 
j'ai du mal a saisir ou est le progleme, et pourquoi je n'arrive
pas a obtenir autre chose que des troncatures dans mes résultats...


---------------
http://www.core-tx.com
mood
Publicité
Posté le 07-03-2004 à 00:42:40  profilanswer
 

n°665755
Taz
bisounours-codeur
Posté le 07-03-2004 à 00:45:12  profilanswer
 

10 est un entier
3 est entier
 
10 / 3 est donc la division entière
 
10/3 == 3
 
 
10.0 / 3.0 ... raisonnement similaire -> division flottante
10.0 / 3.0 == 3.333333...

n°665772
sky99
http://www.core-tx.com
Posté le 07-03-2004 à 02:35:00  profilanswer
 

c'est assez genant dans ce cas :/
enfin c'est une habitude a prendre que de rajouter des zeros derriere...
 
mais quand je dois diviser un entier a par un entier b, je fais comment? je vois mal comment integrer de casting dans une division?!
(j'ai meme eu une erreur a la compil en faisant c=(float *)a/b;
 
en tous cas merci de la précision


---------------
http://www.core-tx.com
n°665773
matafan
Posté le 07-03-2004 à 02:41:37  profilanswer
 

c = (float)a/(float)b

n°665993
Taz
bisounours-codeur
Posté le 07-03-2004 à 13:35:40  profilanswer
 

sky99 a écrit :

c'est assez genant dans ce cas :/
enfin c'est une habitude a prendre que de rajouter des zeros derriere...

ben non, c'est mathématiques et c'est sémantiquement correct

n°665997
red factio​n
Posté le 07-03-2004 à 13:41:29  profilanswer
 

Taz a écrit :

ben non, c'est mathématiques et c'est sémantiquement correct


c surtout pour des raisons de performance, si tu nindique rien il te fait une division entiere (plus rapide) commme ca il n'y a que les cas ou yen a vraiment besoin que c'est appliqué
 
 


Message édité par red faction le 07-03-2004 à 13:42:07
n°666000
Taz
bisounours-codeur
Posté le 07-03-2004 à 13:47:49  profilanswer
 

je crois vraiment pas que la performance entre en ligne de compte

n°668009
djdie
L'heure, c'est l'heure.
Posté le 08-03-2004 à 23:29:31  profilanswer
 

si les .0 te fatiguent tu peux te contenter du point. tu peux même te contenter de mettre un point à un des deux termes. mais bon si tu veux un code lisible tu évites ce genre de blague ;)

n°673721
sky99
http://www.core-tx.com
Posté le 15-03-2004 à 02:16:53  profilanswer
 

a vrai dire, c'est pas que ça me fatigue dans l'absolu, c'est juste qu'il a fallu rechanger tout le code précédent :)
m'enfin bon...
sinon, taz, je ne vois pas en quoi c'est mathematique...
en mathematiques 10/3 =10/3 et non3 :|
dans tous les cas, merci a tous :)


---------------
http://www.core-tx.com
n°673722
gilou
Modérateur
Modzilla
Posté le 15-03-2004 à 02:26:23  profilanswer
 

sky99 a écrit :

a vrai dire, c'est pas que ça me fatigue dans l'absolu, c'est juste qu'il a fallu rechanger tout le code précédent :)
m'enfin bon...
sinon, taz, je ne vois pas en quoi c'est mathematique...
en mathematiques 10/3 =10/3 et non3
:|
dans tous les cas, merci a tous :)
 

Dans les entiers rationnels oui, dans les entiers naturels, non.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

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

  problemes de divisions = résultats erronés.

 

Sujets relatifs
[Résolu] problemes avec les chemins des images sur netscapeProblèmes de passage de pointeur en paramètre
Passage de pointeurs en paramètre erronés ![Réglé] Deux instructions similaires, deux résultats différents ?!!!
Problèmes de compilation avec gcc sous Linux[PHP] Classer un tableau de résultats par ordre décroissant
passage de php/mysql vers php/access : problemes [resolu]Problemes avec les Styles CSS sous Dreamweaver 2004
PopupMenu et divers problèmes associés...[HTML / CSS] problèmes avec SPAN vide
Plus de sujets relatifs à : problemes de divisions = résultats erronés.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR