ciao,
facendo printf("%f",x); mi restituisce 0.652344, solo che a me serve un numero piu lungo... come faccio a far visualizzare piu cifre dopo la virgola??
grazie mille
ciao,
facendo printf("%f",x); mi restituisce 0.652344, solo che a me serve un numero piu lungo... come faccio a far visualizzare piu cifre dopo la virgola??
grazie mille
Le cifre significative dipendono dalla precisione ... avrai usato un float ... prova con un double.
No MP tecnici (non rispondo nemmeno!), usa il forum.
l'ho definita cosìOriginariamente inviato da oregon
Le cifre significative dipendono dalla precisione ... avrai usato un float ... prova con un double.
#define X0 -0.101563
come faccio a metterla come double?
const double X0 = -0.101563;
ma questa e' un'altra cosa ... le cifre sono quelle ... come lo vuoi visualizzare?
No MP tecnici (non rispondo nemmeno!), usa il forum.
dunque... io devo dichiarare, utilizzare nei calcoli e poi visualizzare un numero con virgola il piu lungo possibile...Originariamente inviato da oregon
const double X0 = -0.101563;
ma questa e' un'altra cosa ... le cifre sono quelle ... come lo vuoi visualizzare?
non c'è qualcosa di ancora piu grande di "double"?? ad esempio "long double" va bene?
codice:const double Y1 = 0.652344; const double X0 = -0.101563; const double X1 = -0.097656; const double Y0 = 0.648438; printf("zoom consigliati:\n\n"); printf("(Y)\n"); printf("1: %f\n",(double)Y1); printf("2: %f\n",(double)(((Y1+Y0)/2)+Y1)/2 ); printf("3: %f\n",(double)(Y1+Y0)/2); printf("4: %f\n",(double)(((Y1+Y0)/2)+Y0)/2 ); printf("5: %f\n",(double)Y0); printf("\n(X)\n"); printf("1: %f\n",(double)X0); printf("2: %f\n",(double)(((X0+X1)/2)+X0)/2 ); printf("3: %f\n",(double)(X0+X1)/2); printf("4: %f\n",(double)(((X0+X1)/2)+X1)/2 ); printf("5: %f\n",(double)X1);
l'output è questo, non me lo approfondiscecodice:const double Y1 = 0.652344654654645; const double X0 = -0.1015636546354645; const double X1 = -0.0976566546565; const double Y0 = 0.648438654645645; printf("zoom consigliati:\n\n"); printf("(Y)\n"); printf("1: %f\n",(double)Y1); printf("2: %f\n",(double)(((Y1+Y0)/2)+Y1)/2 ); printf("3: %f\n",(double)(Y1+Y0)/2); printf("4: %f\n",(double)(((Y1+Y0)/2)+Y0)/2 ); printf("5: %f\n",(double)Y0); printf("\n(X)\n"); printf("1: %f\n",(double)X0); printf("2: %f\n",(double)(((X0+X1)/2)+X0)/2 ); printf("3: %f\n",(double)(X0+X1)/2); printf("4: %f\n",(double)(((X0+X1)/2)+X1)/2 ); printf("5: %f\n",(double)X1);
codice:(Y) 1: 0.652345 2: 0.651368 3: 0.650392 4: 0.649415 5: 0.648439 (X) 1: -0.101564 2: -0.100587 3: -0.099610 4: -0.098633 5: -0.097657
Tutti i cast a (double) nelle printf non servono a nulla ...
Non c'e' il long double ...
Ancora NON ho capito cosa vuoi ... se i valori che usi hanno poche cifre dopo la virgola, a cosa ti serve altro ?
Se utilizzi
const double Y1 = 0.652344;
a cosa ti serve scrivere
0.6523440000000
?
No MP tecnici (non rispondo nemmeno!), usa il forum.
mi serve perche progressivamente vado ad utilizzare valori con sempre piu numeri dopo la virgola...Originariamente inviato da oregon
Tutti i cast a (double) nelle printf non servono a nulla ...
Non c'e' il long double ...
Ancora NON ho capito cosa vuoi ... se i valori che usi hanno poche cifre dopo la virgola, a cosa ti serve altro ?
Se utilizzi
const double Y1 = 0.652344;
a cosa ti serve scrivere
0.6523440000000
?
Utilizza questo formato
"%.16f\n"
No MP tecnici (non rispondo nemmeno!), usa il forum.
grazie mille...Originariamente inviato da oregon
Utilizza questo formato
"%.16f\n"
quindi i dati erano salvati e processati, l'unica cosa è che non potevo vederli giusto??
fino a quante cifre arrivano i double?