Posez votre question Signaler

Division en C

Enzo - Dernière réponse le 27 nov. 2010 à 16:32
float variable;

variable = 1/8;
printf("%f\n", variable);

Pourquoi il m'affiche 0 au lieu de 0.125 ?

Merci
Lire la suite 

Division en C »

7 réponses
Réponse
+3
moins plus
Salut,
Grosso modo en C quand tu divises 2 entiers tu obtient un quotient entier qui est une valeur approchée du quotient exact.
Ce qui fait 0 dans ton cas, pour obtenir le quotient exact il faut écrire 1.0/8 ou bien 1/8.0, c'est comme ça.

A++

C'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont raison! (COLUCHE)
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
A la limite (long)1/(long)8 aussi je crois...
Plus pratique dans le cas de variables...

Le TeebObeeT ignoré de la moche...
Ajouter un commentaire
Réponse
+0
moins plus
Ah oui c'est vrai le .0, j'oubliais.
Merci à vous 2.
Ajouter un commentaire
Réponse
+0
moins plus
je c'est plus fair des divis a 2 chifre et je suis en cm2
daronmaster - 5 juin 2008 à 20:17
vas voir ce site : http://classe9.free.fr/spip.php?article831

je pense que cela peut t'aider et à cette heure ci tu ne devrait pas etre sur un ordinateur, mais en train de travailler.

Tchû
Ajouter un commentaire
Réponse
+0
moins plus
il faut tt simplement ecrir

printf( " la variable est : %.3f ", variable);

le %.3 désigne 3 nombre aprés la virgule

bonne chance
fiddy - 27 nov. 2010 à 16:32
Non. Si tu mets %.3f, t'obtiendras 0.000.
La bonne raison a déjà été donnée. Il faut mettre variable=1.0/8; ou variable=(float)/8;
Ajouter un commentaire
Ce document intitulé « Division en C » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook