Ich denke, dass all diese Fehler über den praktischen Nutzen dieser Lösung zur Beschleunigung der Rundung positiver ganzer Zahlen hinausgehen, da nur wenige Menschen eine Genauigkeit auf 16-stelliger Ebene benötigen. Und diese Fehler entstehen durch alle Arten von Überläufen auf den Punktebenen des Compilers selbst.
A100: Floor(), ceil(), round() sind für diesen Zweck da - es gibt also keine Fragen
Ich verbiete Ihnen nicht, sie zu benutzen. Sie können sie gerne verwenden. Ich werde sie selbst verwenden. Wenn ich jedoch einen Algorithmus entwickle, bei dem es auf Geschwindigkeit ankommt, werde ich diese Rundungsvariante verwenden und dabei alle Nuancen dieser Methode berücksichtigen. Ich denke, es wäre für andere Programmierer nützlich, von der Existenz dieser Alternative zu erfahren. Die Diskussion ist genau das, was wir über die Feinheiten dieser Rundungsmethode wissen müssen. Ich danke Ihnen sehr dafür. Habe ich nicht Recht?
DBL_MIN undDBL_EPSILON funktionieren nicht - zu klein. Vielleicht ist es sinnvoll, 0,999999999999999999 (16 Neunen - die maximale Anzahl der Nachkommastellen in Double) zu belassen.
DBL_EPSILON hat also 16 Dezimalstellen:2,2204460492503131e-016.
In Ihrem Fall erhalten Sie tatsächlich eine, da der Unterschied nur 1e-16 beträgt, was 2 Mal weniger als Epsilon ist.
DBL_EPSILON hat also 16 Dezimalstellen:2.2204460492503131e-016
Und in Ihrem Fall erhalten Sie tatsächlich eine, da der Unterschied nur 1e-16 beträgt, was 2 Mal weniger als Epsilon ist.
Ja, das verstehe ich, aber es funktioniert nicht. Es hat sich herausgestellt, dass es auch mit 16 Neunen nicht funktioniert (seltsam, vorher schien es zu funktionieren). Es funktioniert nur mit 15 Neunen.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Ja, aber wenn:
dann ist das in Ordnung.
A100:
Das verstehe ich nicht. Wo liegt das Problem?
Es bleibt abzuwarten, ob es für eine beliebige Zahl x OK ist
Natürlich wird es das nicht...
Denn wenn das passiert:
dann sind die Fragen weder für mich noch für diese Idee.
Wo liegt das Problem?
siehe meinen vorherigen Beitrag
dann sind die Fragen weder für mich, noch für diese Idee.
Ich denke, dass all diese Fehler über den praktischen Nutzen dieser Lösung zur Beschleunigung der Rundung positiver ganzer Zahlen hinausgehen, da nur wenige Menschen eine Genauigkeit auf 16-stelliger Ebene benötigen. Und diese Fehler entstehen durch alle Arten von Überläufen auf den Punktebenen des Compilers selbst.
Floor(), ceil(), round() sind für diesen Zweck da - es gibt also keine Fragen
Ich verbiete Ihnen nicht, sie zu benutzen. Sie können sie gerne verwenden. Ich werde sie selbst verwenden. Wenn ich jedoch einen Algorithmus entwickle, bei dem es auf Geschwindigkeit ankommt, werde ich diese Rundungsvariante verwenden und dabei alle Nuancen dieser Methode berücksichtigen. Ich denke, es wäre für andere Programmierer nützlich, von der Existenz dieser Alternative zu erfahren. Die Diskussion ist genau das, was wir über die Feinheiten dieser Rundungsmethode wissen müssen. Ich danke Ihnen sehr dafür. Habe ich nicht Recht?
DBL_MIN undDBL_EPSILON funktionieren nicht - zu klein. Vielleicht ist es sinnvoll, 0,999999999999999999 (16 Neunen - die maximale Anzahl der Nachkommastellen in Double) zu belassen.
DBL_EPSILON hat also 16 Dezimalstellen:2,2204460492503131e-016.
In Ihrem Fall erhalten Sie tatsächlich eine, da der Unterschied nur 1e-16 beträgt, was 2 Mal weniger als Epsilon ist.
DBL_EPSILON hat also 16 Dezimalstellen:2.2204460492503131e-016
Und in Ihrem Fall erhalten Sie tatsächlich eine, da der Unterschied nur 1e-16 beträgt, was 2 Mal weniger als Epsilon ist.
Ja, das verstehe ich, aber es funktioniert nicht. Es hat sich herausgestellt, dass es auch mit 16 Neunen nicht funktioniert (seltsam, vorher schien es zu funktionieren). Es funktioniert nur mit 15 Neunen.