Problema aumento cifre decimali con double

di il
2 risposte

Problema aumento cifre decimali con double

Buongiorno a tutti ,
sono nuovo in questo forum e spero di trovare un ambiente prospero per scambiare idee e averne di nuove
Detto questo, ho riscontrato un problema scrivendo un programma in C (sono nuovo a tale linguaggio e non ho avuto significative esperienze di programmazione in passato) che calcolasse il numero di nepero con la formula e= 1 +1/1! +1/2! + 1/3! +... potendo decidere a piacere il grado di precisione di e fermando la somma non appena l'n-simo termine della serie risulta più piccolo di un valore frazionario immesso dall'utente..il problema è che prescindere dalla precisione immessa il valore di e viene stampato sempre e solo con 6 cifre dopo la virgola e non riesco ad ottenere una precisione maggiore...vi chiedo aiuto
/*Calcolo il numero di nepero con un grado di precisione scelto dall'utente*/



#include <stdio.h>



int main (){

       

        double e = 1.0f   ;

        double eps ;

        double divisore = 1.0f    ;

        int i ;

       

        printf( "Inserire il limite inferiore dell'ennesimo termine della serie di Nepero : " ) ;

        scanf ( "%lf", &eps ) ;        

        i=1 ;        

        while ( (1.0f/divisore) >= eps ) {                     

                e = e + (1.0f/divisore)  ;

                i +=1           ; 

                divisore = divisore * (double) i ; 

                                   }

        printf ("\napprox e = %lf " , e );

        return 0 ; 

             }

2 Risposte

  • Re: Problema aumento cifre decimali con double

    Comincia con scrivere

    printf ("\napprox e = %.15lf " , e );
  • Re: Problema aumento cifre decimali con double

    Ti ringrazio, purtroppo nel mio libro sul C non viene spiegato che ,sia che si usino le variabili float o le double, non vengono mostrate tutte le cifre in memoria..ma sempre 6 cifre dopo la virgola (nel mio caso) a prescindere dalle cifre effettivamente memorizzate..usavo l'operato %.Nf per poterne visualizzare di meno , non di più! grazie mille
Devi accedere o registrarti per scrivere nel forum
2 risposte