Nachkommastellen

Diskutiere Nachkommastellen im C/C++ Forum im Bereich Programmieren unter Linux/Unix; Wie ist es in c möglich mit mehr als 16 stellen(long double) nach dem komma zu rechnen . hab schon versucht mit malloc eine 100 mal sizeof long...

  1. #1 icephilipp, 30.09.2008
    icephilipp

    icephilipp Foren As

    Dabei seit:
    01.03.2008
    Beiträge:
    91
    Zustimmungen:
    0
    Wie ist es in c möglich mit mehr als 16 stellen(long double) nach dem komma zu rechnen .
    hab schon versucht mit malloc eine 100 mal sizeof long double variable zu erstellen aba das hilft nix
     
  2. #2 sim4000, 30.09.2008
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Nimm die Zahl mal 16. das aus
    Code:
    0.1234567891234567
    dann
    Code:
    1234567891234567
    wird. wenn du fertig ist, teilst du bei der Ausgabe wieder durch 16.

    Ist zwar nicht wirklich sauber, aber es sollte gehen.
     
  3. #3 icephilipp, 30.09.2008
    icephilipp

    icephilipp Foren As

    Dabei seit:
    01.03.2008
    Beiträge:
    91
    Zustimmungen:
    0
    ich muss die zahl auch ausgeben mit komma
     
  4. daboss

    daboss Kaiser

    Dabei seit:
    05.01.2007
    Beiträge:
    1.297
    Zustimmungen:
    0
    Ort:
    bavaria.germany.europe.world
    0.1234567891234567 * 16 gibt hier 1.975308626 != 1234567891234567 :devil:
    Aber die printf-Ausgabe mit Komma sollte ja auch nicht weiter das Problem sein... ;)

    (Abgesehen davon zweifel ich im Moment spontan dran, das ihm das so weiterhilft)
     
  5. #5 der_Kay, 30.09.2008
    Zuletzt bearbeitet: 30.09.2008
    der_Kay

    der_Kay Doppel-As

    Dabei seit:
    28.02.2006
    Beiträge:
    140
    Zustimmungen:
    0
    Der Begriff Fließ- bzw. Gleitkommazahl ist Dir geläufig? 32 nachkommastellen von Pi gefällig?
    Code:
    #include <stdio.h>
    #include <math.h>
    int main(int argc, char** argv) {
    	printf("%.32f", M_PI);
    	return 0;
    }
    Wenn Du numerisch stabil so genau rechnen willst, brauchst Du spezielle Bibliothetken, z. B. http://gmplib.org/ oder MAPM
     
  6. okar

    okar Jungspund

    Dabei seit:
    13.04.2008
    Beiträge:
    21
    Zustimmungen:
    0
    wie viel stellen brauchst denn? long double sollte ne ganauigkeit von 19 stellen haben.
    wenn das nicht langt brauchst halt irgendwelche arbitrary precision libraries.
     
  7. #7 icephilipp, 01.10.2008
    Zuletzt bearbeitet: 01.10.2008
    icephilipp

    icephilipp Foren As

    Dabei seit:
    01.03.2008
    Beiträge:
    91
    Zustimmungen:
    0
    Ich brauch wenn möglich eine n stellige gernauigket
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    auf das ausgeben mit %.xf bin ich auch schon gekommen aba da gibt er ab einer gewissen stelle nur noch müll aus und wenn schon%.xLf
     
Thema:

Nachkommastellen