/ / Berechnung des maximalen Gleitkommawerts - Schleifen, Mathematik, Gleitkomma, Präzision

Berechnung des maximalen Gleitkommawerts - Schleifen, Mathematik, Fließkomma, Genauigkeit

Ich möchte den maximalen Gleitkommawert berechnen (sagen wir malf64) iterativ. Ich habe darüber nachgedacht, eine Zahl wie 1,0 mal 2 zu multiplizieren, bis sie unendlich ist, aber sie gibt mir keine exakte Zahl. Etwas wie das Hinzufügen von Macheps funktioniert auch nicht, weil es zu langsam ist. Ich bin sicher, dass Sie erhöhen müssen / Divisor / Multiplikator bei jedem Erreichen der Unendlichkeit um etwas verringern, aber ich weiß nicht, wie es geht.

Antworten:

0 für die Antwort № 1

Die Standardbibliothek Ihrer ProgrammierspracheSie sollten eine Konstante erhalten, die die numerischen Grenzen Ihrer Typen darstellt. Wenn Sie jedoch eine Schleife ausprobieren möchten, lesen Sie die Dokumentation sorgfältig auf Fehler (einschließlich Genauigkeitsverlust und Überlauf) und denken Sie daran, dass die größte darstellbare Zahl nicht nur der größte Exponent ist, sondern der größte Exponent multipliziert mit dem größten Mantisse.

Das heißt, es sollte funktionieren, die Potenzen von 2 zu berechnen, bis Sie einen Fehler erhalten, und sie dann von der höchsten zur niedrigsten zu addieren, bis Sie einen Fehler erhalten.