[langage C] printf pour un double

Satora -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je fais ce printf d'une multiplication:

printf("\n\t-----> resul: %.0lf", 61464689 * 512);

mais je n'obtient pas la bonne réponse, %lf est bien pour printer un double?
Un int, c'est %d. Un float c'est %f je pense...

le réponse est 31469920768 et j'obtient
 -----> resul: 61464672


Quelqu'un peut m'aider?

Merci d'avance
Configuration: Windows XP
Firefox 3.0.11

2 réponses

  1. Utilisateur anonyme
     
    essaye :

    printf("\n\t-----> resul: %.0lf", (61464689 * 512) );

    ou

    double a = 61464689 * 512;
    printf("\n\t-----> resul: %.0lf", a );
    0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    essaye avec 512. pour forcer un float
    printf("\n\t-----> resul: %.0lf", 61464689 * 512.);
    0