Ich habe versucht von einer Zahl zuerst eine Wurzel zu ziehen und das Ergebnis dann mit cout anzuzeigen.
z.B.:
double zahl=11; cout << sqrt(zahl);
Nun zeigt es mir nur wenige Stellen hinter dem Komma an.Ich habe versucht, das durch cout << setprecision(30) zu lösen, es werden aber nicht mehr als ca. 15 Stellen anezeigt.
Garnicht, weil double nicht mehr signifikante Nachkommastellen hat. Die mantisse ist halt entsprechend "klein". -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)
Um Pi genauer anzugeben, d.h. auf z.B. 100 Stellen nach dem Komma. Könnte ich ein float nehmen? Oder könnte ich irgendwie zwei double zusammennehmen (8bit + 8bit = 16bit -> doppelte Größe -> doppelte Nachkommastellenanzahl) ?
Andere Frage: Könnte ich auch zwei unsigned long zusammenverwenden um größere Zahlen zu berechnen?
da musste dir nen eigenen datentyp zusammenbasteln, evtl gibts da ja auch schon was fertiges für deine zwecke, musste mal googlen -- class God : public ChuckNorris { };
Zu beachten ist dabei, dass der zweite Parameter des Konstruktors nicht Nachkommastellen, sondern Bits bedeutet. 300 bits sind etwa 90 Nachkommastellen, wenn ich mich grad nicht verschätze. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe DijkstraDieser Post wurde am 14.10.2005 um 22:54 Uhr von 0xdeadbeef editiert.
Es gibt auch irgendwo 'ne Internetseite mit den ersten 100 000 Nachkommastellen von pi... -- main($)??<-$<='?'>>2?main($-!!putchar( (("$;99M?GD??(??/x0d??/a:???;a"+'?'/4) ??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
Du willst nur Pi mit vielen Stellen ausgeben, nichts anderes? Wo kommen die Ziffern her? Lädst du sie aus dem Internet, oder hast du einen Näherungsalgorithmus?
Wenn das alles ist, dann schreibe die Ziffern in einen String und drucke den aus.