PDA

View Full Version : [C] Memorizzare un numero con molte cifre decimali


D4rkAng3l
07-11-2008, 11:00
Ciao,
ho l'esigenza di memorizzare in una variabili il valore fisico della costante di gravitazione universale G che è pari a: 6.674 * 10^(-11) quindi sarà un numero molto piccolo vicino allo 0 e con tante cifre decimali dopo la virgola.

Ho provato a fare di questo:


#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(){
long double G = 6.674 * pow(10,-11);

printf("%Lf\n", G);

system("pause");
return 0;
}


ma non funziona in quanto come potete vedere l'output che dà è:
-0.000000
Premere un tasto per continuare . . .

credo che devo memirizzare più cifre decimali...giusto? che tipo di dato dovrei usare?

Grazie
Andrea

cionci
07-11-2008, 15:19
I numeri in virgola mobile vengono memorizzati normalizzati a partire dal primo bit diverso da zero.
Hai semplicemente usato lo specificatore di formato errato. Metti %le nella printf.