Man kann ja long long double auf 19 nachkommastellen definieren, ist es möglich das ganze in einem string zu speichern damit man noch mehr nachkommastellen hat?
Ich hatte das mal probiert allerdings kam ich auf das Problem das ich im String ja nicht das "Addieren" kann,(z.b. Zahl=4+5 wäre ja 9; im string 45)
Ist das irgendwie möglich?
Sh0x: Ja, allerdings kann ein double nicht beliebig viele Nachkommastellen speichern, deswegen die Frage nach den String.
Aalon: Du müsstest dir eine Klasse bauen die Zahlen als Strings abspeichert und dann damit rechnen kann ohne jemals die ganze Zahl konvertieren zu müssen. Möglich ist es, aber ziemlich ätzend und extrem unperformant. Bsp: Du addierst den Strinng stellenweise (eine Dezimalstelle darf man casten). und definierst Multiplikation als mehrfache Addition...
Ich glaube ich begnüge mich dann lieber mit weniger PI Nachkommastellen, oder lass ein kurzes "#define PI 3,1415..." herhalten wenn ich PI in meinen Programmen verwenden will
defines haben keinen Datentyp. Ein define ist nichts anderes als ne Textersetzung, deswegen kommt es ganz darauf an, wie es im Quellcode verwendet wird. Deswegen is das völlig in Ordnung, wenn man das mit Nachkommastellen angibt und dann in Rechnungen mit Floats/Doubles verwendet.
was ist eleganter? wenn er dein pi beim definieren auf 3 abrundet?
ich weiß auch nicht ganz recht, aber ich glaube define's sind int's und ints haben keine nachkommastellen
kann aber auch sein dass ich die andere hälfte der vorlesung gepennt hab
probiere es
Nene, das wird nicht auf 3 Nachkommastellen abgerundet
Hab hier so ein C++ für Anfänger Buch, da steht das mit 20 Nachkommastellen definiert und es klappt einwandfrei :-D