Division dans un float

Résolu
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 7 juil. 2005 à 11:37
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 7 juil. 2005 à 12:06
Salut,



je voudrais diviser une taille de répertoire par 1024 pour l'avoir en
Ko, mais le résultat de 8370 / 1024 qui fait normalement 8,17Ko je
crois, donne 8.0 !



la variable qui contient la taille du répertoire est un long (=8370),
et le résultat, j'ai essayé en float et en double, c pareil : 8.0



Comment obtenir le vrai résultat ?
A voir également:

3 réponses

el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
7 juil. 2005 à 11:43
Bon, en fait, j'ai trouvé, il faut mettre le long dans un float au préalable...
3
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
7 juil. 2005 à 12:03
En fait y'a une subtilité avec le résultat intermédiaire dans une opération, faut comprendre la promotion des types, le résultat intermédiaire c'est ce qui se passe avant l'opérateur d'affectation "=".

8370 / 1024 donne un int ( int / int = int )
8370 / 1024.0 donne un double ( int / double = double )
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
7 juil. 2005 à 12:06
PS: un long est codé en 64 bits et un float en 32 bits, attention.
0
Rejoignez-nous