![]() |
[C++] Mehr Nachkommastellen
Im Moment mache ich mir den Spaß und versuche mich an der Mandelbrot-Menge.
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] An sich alles nicht das Problem, jedoch wird bei starkem Zoom die grenze des double Datentyps ziemlich ausgereizt. long double bietet auch nur auf 2-3 stellen höhere Genauigkeit. Ich möchte aber höhere Genauigkeit erzielen, also Rundungen möglichst vermeiden. Allerdings fällt mir keine bessere Lösung ein, als eine Klasse dafür zu schreiben, die das übernehmen soll. Im Sinne von: Code:
Beispiel: Meine Frage: Gibt es eine einfachere möglichkeit dafür ? Man muss das Rad ja net immer neu erfinden, also kennt jmd eine Library, die eben diese Funktion übernimmt ? Mfg Waldfee |
Da googelst du am besten nach "Langzahlen-Arithmetik".
Ich kenne zB die Klassenbibliothek C-XSC. |
erstmal danke, doch auch mithilfe dieser library wirds nach ca. 20+ nachkommastellen ungenau.
Ich suche eher etwas, dass dann den CPU belastet und die rechenzeit höher wird, als an genau dem Punkt dann aufgrund von zeitersparniss abstriche zu machen |
1. es gibt einige bibliotheken dafür
2. schreib es dir selber, jede ziffer ist ein int, die miteinander über pointer verbunden sind...praktisch n int-array |
Zitat:
Also wenn long double nicht ausreicht bieten manche Compiler sogar long long double (ich weiss, klingt lächerlich) - sofern es nicht nur ein typedef auf long double ist haste da direkt mal 128 Bit. Und ... tut mir leid - wenn 128 Bit für dich nicht ausreichen dann versuchst du gerade die Anzahl aller Teilchen im Universum zu erfassen oder du spielst mit multidimensionaler Mathematik herum und suchst nen Beweis für die M-Theorie :D Nun, bei Fliesskommazahlen geht eine gewisse Wortbreite verloren weil die Mantisse separat gespeichert werden muss ... in dieser Größenordnung (> 64 Bit) ändert das aber nich mehr spürbar viel |
long double hin oder her, ab nem gewissen zoom-grad gibt es ungenauigkeiten und kurz danach crash mit verletzung von zugriffsrechten beim speicher, die ich mir wohl gemerkt nicht erklären kann :cry:
ich fürchte ich muss den kram doch selber basteln, trotzdem danke an alle... bis auf neffinator, der nur klugscheißt xD close plz |
Zitat:
|
ja, merk ich auch gerade .... die variablen für die position der pixel fallen unter 1.0, deswegen wird versucht die gleichen pixel mehrfach zu berechnen/beschreiben .... ich glaub da muss ne routine her, die checkt, ob die schon beschrieben sind ^^ Oder ich belasse es enfach debei und schränke den zoom ein ... mein alter lappie rechnet an den "unteren" ebenen schon bis zu 20 sec :lol:
Das erklärt dann die Fehler im Bild und den daraus resultierenden crash ... trotzdem nochmal danke für den tipp mit dem long double ^^ |
Tud mir leid, dass ich euch jetzt wiedersprechen muss: long double hat einen weit aus größeren Wertebereich als double das stimmt schon - ist aber kein Stück genauer.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.