Seite 1 von 1
long double
Verfasst: 17. August 2011 22:02
von Mephistopheles
Hallo Leute,
ich hab schon mal ein bisschen gesucht, bin aber noch zu keiner Lösung gekommen.
Kann ich (und wenn ja wie) eine Variable als Datentyp "long double" deklarieren?
Mein Problem: Ich habe Zahlen, die einfach zu groß werden.
Bis 10^9 klappt es noch, aber darüber bekomme ich Werte der Größe -10^-8 ...
Eigentlich auch komisch, da ja double bis 10^35 gehen sollte.
Ich arbeite mit der aktuellen Version auf Linux (Ubuntu), habe das Programm allerdings noch nicht auf Win getestet.
Es sollte aber auf beiden Systemen laufen.
Kennt jemand das Problem und kann mir helfen?
Re: long double
Verfasst: 17. August 2011 22:11
von upsala
Was hat das mit Qt zu tun?
double sind im übrigen normalerweise ca. 10^308
Und wie hast du deine Annahmen getestet? Du hast doch nicht etwa eine Integer-Konstante an eine float/double/... Variable übergeben?
Re: long double
Verfasst: 17. August 2011 22:59
von Mephistopheles
nunja, das hat mit Qt zu tun, da ich mein Programm mit Qt erstelle.
Will ich es als "long double" wie in c++ deklarieren, also
long double variable1;
so erhalte ich eine Fehlermeldung.
Dementsprechend vermute ich, dass das Problem bei Qt liegt.
(Hab es natürlich auch mal in abgewandelter Version bei c++ versucht, und da klappts...)
Re: long double
Verfasst: 17. August 2011 23:07
von upsala
Mephistopheles hat geschrieben:nunja, das hat mit Qt zu tun, da ich mein Programm mit Qt erstelle.
...
Mephistopheles hat geschrieben:Will ich es als "long double" wie in c++ deklarieren, also
long double variable1;
so erhalte ich eine Fehlermeldung.
Für geheime Fehlermeldungen gibt es natürlich auch nur geheime Lösungen...
Mephistopheles hat geschrieben:Dementsprechend vermute ich, dass das Problem bei Qt liegt.
(Hab es natürlich auch mal in abgewandelter Version bei c++ versucht, und da klappts...)
Qt ist eine Bibliothek für C++ somit gibt es da auch keinen Unterschied
Re: long double
Verfasst: 17. August 2011 23:14
von Mephistopheles
Der Fehler lautet:
Fehler:call of overloaded ‘arg(long double&)’ is ambiguous
Meines Erachtens versucht er es sowohl als long als auch als double zu deklarieren, was somit mehrdeutig ist.
Somit zu meiner Frage:
Wie deklariere ich in Qt ein long double, oder geht das gar nicht?
Re: long double
Verfasst: 17. August 2011 23:29
von upsala
Du versuchst also eine der QString::arg(...) - Methoden aufzurufen. Welche soll dein Compiler denn nehmen? Eine mit 'long double' als Parameter gibt es nicht.
Außerdem beantwortet es immer noch nicht die Frage warum du keine größeren Zahlen als 10^9 in einen float oder double unterbringen kannst.
Re: long double
Verfasst: 18. August 2011 06:33
von Christian81
Abgesehen davon
http://www.cplusplus.com/doc/tutorial/variables/ ('Fundamental data types' - der Hinweis zu long double)