<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[epsilon unsichtbar?]]></title><description><![CDATA[<p>Hallo.</p>
<p>Mein Programm berechnet Ebenen und aus diesen Geraden und daraus Punkte die wiederum Ebenen bilden ... usw.<br />
Jedenfalls berechne ich nach meist sehr langer Rechnung neue Punkte. Und bilde daraus eine Ebene, &quot;coute&quot; sie, dann hat die Ebene an Stellen sehr kleine Zahlen (leider 4-8x grösser als numeric_limits&lt;T&gt;::epsilon() ), an denen eine 0 sein müsste!!! (-&gt; RECHENFEHLER + BUG <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> )<br />
Wenn ich jedoch meine vorher berechneten Punkte in eine Datei schreibe und sie neu einlese tritt das nicht auf.</p>
<p>Nun meine Theorie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> :<br />
Die Punkte haben viel mehr Stellen als sie in der Konsole angezeigt bzw. in der Datei gespeichert werden. Lieg ich da richtig? Kann ich die irgendwie &quot;abschneiden&quot;? Oder sollte ich nochmal Ursachenforschung betreiben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Tyvm</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/233059/epsilon-unsichtbar</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 02:30:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/233059.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 31 Jan 2009 00:11:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 00:11:09 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<p>Mein Programm berechnet Ebenen und aus diesen Geraden und daraus Punkte die wiederum Ebenen bilden ... usw.<br />
Jedenfalls berechne ich nach meist sehr langer Rechnung neue Punkte. Und bilde daraus eine Ebene, &quot;coute&quot; sie, dann hat die Ebene an Stellen sehr kleine Zahlen (leider 4-8x grösser als numeric_limits&lt;T&gt;::epsilon() ), an denen eine 0 sein müsste!!! (-&gt; RECHENFEHLER + BUG <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> )<br />
Wenn ich jedoch meine vorher berechneten Punkte in eine Datei schreibe und sie neu einlese tritt das nicht auf.</p>
<p>Nun meine Theorie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> :<br />
Die Punkte haben viel mehr Stellen als sie in der Konsole angezeigt bzw. in der Datei gespeichert werden. Lieg ich da richtig? Kann ich die irgendwie &quot;abschneiden&quot;? Oder sollte ich nochmal Ursachenforschung betreiben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Tyvm</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655273</guid><dc:creator><![CDATA[eps]]></dc:creator><pubDate>Sat, 31 Jan 2009 00:11:09 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 05:32:18 GMT]]></title><description><![CDATA[<p>Versteht irgendwer den ganzen Text?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655297</guid><dc:creator><![CDATA[frage@alle]]></dc:creator><pubDate>Sat, 31 Jan 2009 05:32:18 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 05:56:34 GMT]]></title><description><![CDATA[<p>Ja. Er hat ein Rundungsproblem mit Gleitkommazahlen.</p>
<p>Vermutlich speichert er die Werte in einer Textdatei, beim Einlesen und dann<br />
in eine double konvertieren sind die Krümel halt weg.</p>
<p>Ich würde die Genauigkeit begrenzen:</p>
<pre><code>if (wert &lt; 0.0001) wert = 0.0;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1655298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655298</guid><dc:creator><![CDATA[Scheppertreiber]]></dc:creator><pubDate>Sat, 31 Jan 2009 05:56:34 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 08:55:10 GMT]]></title><description><![CDATA[<p>Scheppertreiber schrieb:</p>
<blockquote>
<p>Ja. Er hat ein Rundungsproblem mit Gleitkommazahlen.</p>
<p>Vermutlich speichert er die Werte in einer Textdatei, beim Einlesen und dann<br />
in eine double konvertieren sind die Krümel halt weg.</p>
<p>Ich würde die Genauigkeit begrenzen:</p>
<pre><code>if (wert &lt; 0.0001) wert = 0.0;
</code></pre>
</blockquote>
<p>Ja also scheinbar kann man den Text verstehen...</p>
<p>Dein if Funktioniert ja jetzt nur mit Nullen, aber kann ich auch die &quot;Krümel&quot; von beliebigen Zahlen entfernen?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655320</guid><dc:creator><![CDATA[eps]]></dc:creator><pubDate>Sat, 31 Jan 2009 08:55:10 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 09:01:06 GMT]]></title><description><![CDATA[<p>eps schrieb:</p>
<blockquote>
<p>Dein if Funktioniert ja jetzt nur mit Nullen, aber kann ich auch die &quot;Krümel&quot; von beliebigen Zahlen entfernen?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
</blockquote>
<p>denke schon, was auch immer Krümel hier sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655323</guid><dc:creator><![CDATA[klar]]></dc:creator><pubDate>Sat, 31 Jan 2009 09:01:06 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 09:07:44 GMT]]></title><description><![CDATA[<p>klar schrieb:</p>
<blockquote>
<p>eps schrieb:</p>
<blockquote>
<p>Dein if Funktioniert ja jetzt nur mit Nullen, aber kann ich auch die &quot;Krümel&quot; von beliebigen Zahlen entfernen?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
</blockquote>
<p>denke schon, was auch immer Krümel hier sind.</p>
</blockquote>
<p>asozial?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655328</guid><dc:creator><![CDATA[klarox]]></dc:creator><pubDate>Sat, 31 Jan 2009 09:07:44 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 09:16:49 GMT]]></title><description><![CDATA[<p>Meine Güte was ist hier denn los?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Also ich habe eine <strong>beliebige</strong> Zahl (float).</p>
<pre><code>float a;
/* rechnung mit a ... */
</code></pre>
<p>Wenn ich a in eine Datei schreibe und dann wieder einlese bekomme ich eine minimal andere Zahl . Sie weicht um ca</p>
<pre><code class="language-cpp">std::numeric_limits&lt;float&gt;::epsilon()
</code></pre>
<p>von a ab. Das wird jedoch nicht sichtbar wenn ich beide Zahlen ( a und das wieder eingelesene a ) in der Konsole ausgebe. Dort sehen sie gleich aus.</p>
<p>Einfacher Satz und einfache Frage: Stimmt das und wie kann ich das verhindern?</p>
<p>VIELEN DANK <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655331</guid><dc:creator><![CDATA[eps]]></dc:creator><pubDate>Sat, 31 Jan 2009 09:16:49 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 09:52:31 GMT]]></title><description><![CDATA[<p>Du meinst einfach, dass eine Zahl 3.5 &quot;plötzlich&quot; 3.499999999999999999 ist, richtig? Und du würdest gerne exakt die Zahl haben, die du mal gespeichert hast. Bei Fließkommazahlen ist das so eine Sache, durch die interne Darstellung von Nachkommastellen gibt es da keine hundertprozentige Genauigkeit. Damit muss man leben (ist normalerweise auch kein Thema, damit rechnen funktioniert wunderbar). Wenn du deine Zahl dann am Bildschirm ausgeben willst, dann runde sie einfach, und gut is!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655349</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Sat, 31 Jan 2009 09:52:31 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:02:02 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Du meinst einfach, dass eine Zahl 3.5 &quot;plötzlich&quot; 3.499999999999999999 ist, richtig? Und du würdest gerne exakt die Zahl haben, die du mal gespeichert hast. Bei Fließkommazahlen ist das so eine Sache, durch die interne Darstellung von Nachkommastellen gibt es da keine hundertprozentige Genauigkeit. Damit muss man leben (ist normalerweise auch kein Thema, damit rechnen funktioniert wunderbar). Wenn du deine Zahl dann am Bildschirm ausgeben willst, dann runde sie einfach, und gut is!</p>
</blockquote>
<p>Die Zahlen sehen ja ausgegeben identisch aus. Mal ein beispeil:</p>
<p>Ich habe 3 Punkte:<br />
(2.97906/0.327357/5.90346)<br />
(2.97906/0.825969/5.90346)<br />
(2.97906/0.00270605/7.52671)</p>
<p>Einmal aus der Datei gelesen (A) und einmal auf die ein oder andere weise berechnet (B).</p>
<p>(A) und (B) sehen auf dem Bildschirm absolut identisch aus.</p>
<p>Wenn ich mit (A) rechne bekomme ich folgende Ebene:<br />
0.809372x + 0y + -0z + -2.41117<br />
und mit (B) bekomme ich sowas:<br />
0.809371x + 3.87013e-07y + 7.74029e-08z + -2.41117</p>
<p>Eigendlich recht winzige Abweichungen, die aber massiven Einfluss auf weitere Rechnung nehmen ... schon im nächsten Schritt komme ich auf völlig verschiedene Werte...</p>
<p>Einfach ein größeres Epsilon festzulegen funktioniert in anderen Fällen dann jedoch nicht mehr ...</p>
<p>Ich denke dass (A) und (B) doch nicht identisch sind auch wenn sie ausgegeben gleich aussehen... oder wie soll ich sonst auf verschiedene Ebenen kommen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655353</guid><dc:creator><![CDATA[eps]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:02:02 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:13:14 GMT]]></title><description><![CDATA[<p>Wenn dir float nicht genau genug ist, musst du wohl auf einen anderen Typen eingehen, wie z.B einer Bigint Klasse, oder so, die eine (fast) beliebige Genauigkeit anbietet.<br />
z.B hier:<br />
<a href="http://sourceforge.net/projects/cpp-bigint/" rel="nofollow">http://sourceforge.net/projects/cpp-bigint/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655366</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:17:20 GMT]]></title><description><![CDATA[<p>klarox schrieb:</p>
<blockquote>
<p>klar schrieb:</p>
<blockquote>
<p>eps schrieb:</p>
<blockquote>
<p>Dein if Funktioniert ja jetzt nur mit Nullen, aber kann ich auch die &quot;Krümel&quot; von beliebigen Zahlen entfernen?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
</blockquote>
<p>denke schon, was auch immer Krümel hier sind.</p>
</blockquote>
<p>asozial?</p>
</blockquote>
<p>Nur ein bisschen gemein, aber du siehst ja, keiner versteht ihn so richtig. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655370</guid><dc:creator><![CDATA[klar]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:17:20 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:18:25 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Wenn dir float nicht genau genug ist, musst du wohl auf einen anderen Typen eingehen, wie z.B einer Bigint Klasse, oder so, die eine (fast) beliebige Genauigkeit anbietet.<br />
z.B hier:<br />
<a href="http://sourceforge.net/projects/cpp-bigint/" rel="nofollow">http://sourceforge.net/projects/cpp-bigint/</a></p>
</blockquote>
<p>Klingt logisch, ja ... werde mich mal damit befassen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Ty</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655372</guid><dc:creator><![CDATA[eps]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:18:25 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:23:19 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Wenn dir float nicht genau genug ist, musst du wohl auf einen anderen Typen eingehen, wie z.B einer Bigint Klasse, oder so, die eine (fast) beliebige Genauigkeit anbietet.<br />
z.B hier:<br />
<a href="http://sourceforge.net/projects/cpp-bigint/" rel="nofollow">http://sourceforge.net/projects/cpp-bigint/</a></p>
</blockquote>
<p>Da er aber mit Gleitkommazahlen arbeiten will, hilft ein BigInt wenig.<br />
Eher trifft es hier gmp:<br />
<a href="http://www.gmplib.org" rel="nofollow">http://www.gmplib.org</a><br />
<em>Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers</em></p>
<p>// vllt. ist ja auch gleich das hier interessant:<br />
<a href="http://www.cgal.org/" rel="nofollow">http://www.cgal.org/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655374</guid><dc:creator><![CDATA[franz]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:23:19 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:21:02 GMT]]></title><description><![CDATA[<p>klar schrieb:</p>
<blockquote>
<p>klarox schrieb:</p>
<blockquote>
<p>klar schrieb:</p>
<blockquote>
<p>eps schrieb:</p>
<blockquote>
<p>Dein if Funktioniert ja jetzt nur mit Nullen, aber kann ich auch die &quot;Krümel&quot; von beliebigen Zahlen entfernen?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
</blockquote>
<p>denke schon, was auch immer Krümel hier sind.</p>
</blockquote>
<p>asozial?</p>
</blockquote>
<p>Nur ein bisschen gemein, aber du siehst ja, keiner versteht ihn so richtig. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Faszinierend! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655377</guid><dc:creator><![CDATA[klarox]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:21:02 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:22:32 GMT]]></title><description><![CDATA[<p>franz schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Wenn dir float nicht genau genug ist, musst du wohl auf einen anderen Typen eingehen, wie z.B einer Bigint Klasse, oder so, die eine (fast) beliebige Genauigkeit anbietet.<br />
z.B hier:<br />
<a href="http://sourceforge.net/projects/cpp-bigint/" rel="nofollow">http://sourceforge.net/projects/cpp-bigint/</a></p>
</blockquote>
<p>Da er aber mit Gleitkommazahlen arbeiten will, hilft ein BigInt wenig.<br />
Eher trifft es hier gmp:<br />
<a href="http://www.gmplib.org" rel="nofollow">http://www.gmplib.org</a><br />
<em>Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers</em></p>
</blockquote>
<p>Ja die kenn ich sogar. Meint ihr es reicht wenn ich meine Punkte &quot;lokal&quot; für die Rechnungen in genauere Typen konvertiere und dann wieder zurück, oder muss ich nu alles umschreiben?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655378</guid><dc:creator><![CDATA[eps]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:22:32 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:37:39 GMT]]></title><description><![CDATA[<p>Was hilft es dir, wenn du lokal (wenn die Werte schon gegeben sind, berechnet oder aus der Datei gelesen) genauer rechnest, dein Problem aber ist, dass die Konvertierung float -&gt; string -&gt; float verlustbehaftet ist?<br />
Ich kann mir kaum vorstellen, dass man bei komplizierten Gleitkomma-operationen lange ohne Vergleiche mit einem Epsilon auskommt. Der Verlust der Konvertierung ist natürlich ärgerlich (du könntest auch binär rausschreiben oder mit größerer Genauigkeit, damit sich die Fehler in Grenzen halten), aber über kurz oder lang wirst du sowieso Abweichungen haben, die theoretisch nicht sein sollten. Für solche Grenzfälle müssen dann Sonderbehandlungen eingeführt werden, die mit gut gewählten Epsilon-Werten arbeiten.<br />
Wenn Abweichungen von einem solch kleinen Espilon bei dir aber schon zu katastrophalen Veränderungen führen, solltest du evtl. überlegen auf numerisch stabilere Algorithmen und Darstellungsweisen umzusteigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655384</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:36:53 GMT]]></title><description><![CDATA[<p>Decimad schrieb:</p>
<blockquote>
<p>Was hilft es dir, wenn du lokal (wenn die Werte schon gegeben sind, berechnet oder aus der Datei gelesen) genauer rechnest, dein Problem aber ist, dass die Konvertierung float -&gt; string -&gt; float verlustbehaftet ist?<br />
Ich kann mir kaum vorstellen, dass man bei komplizierten Gleitkomma-operationen lange ohne Vergleiche mit einem Epsilon auskommt. Der Verlust der Konvertierung ist natürlich ärgerlich (du könntest auch binär rausschreiben oder mit größerer Genauigkeit, damit sich die Fehler in Grenzen halten), aber über kurz oder lang wirst du sowieso Abweichungen haben, die theoretisch nicht sein sollten. Für solche Grenzfälle müssen dann Sonderfälle eingeführt werden, die mit gut gewählten Epsilon-Werten arbeiten.</p>
</blockquote>
<p>Ich dachte dass dann zB die Abweichung im Beispiel mit den Ebenen so klein werden dass sie keine Rolle mehr spielen. Um die Konvertierung in strings komme ich nicht herum. Das zeug muss in einer lesbaren datei stehen ...<br />
Bin jetzt ein bisschen ratlos <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655388</guid><dc:creator><![CDATA[eps]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:36:53 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:41:42 GMT]]></title><description><![CDATA[<p>Die meisten CPUs rechnen intern so genau, dass der Rechenfehler kleiner ist, als was durch float oder double unterscheidbar wäre. Wobei sich die Fehler in dem Fall natürlich aufsummieren. Darf ich Fragen, was du berechnest und wo diese Ungenauigkeiten zu katastrophalen Veränderungen des Ergebnisses führen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655390</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:41:42 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:41:07 GMT]]></title><description><![CDATA[<p>franz schrieb:</p>
<blockquote>
<p>Da er aber mit Gleitkommazahlen arbeiten will, hilft ein BigInt wenig.<br />
Eher trifft es hier gmp:<br />
<a href="http://www.gmplib.org" rel="nofollow">http://www.gmplib.org</a><br />
<em>Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers</em></p>
</blockquote>
<p>Jop. Ich wusste nicht mehr, welche Bibliothek es genau ist,welche auch immer empfohlen wird darum habe ich einfach mal das erste bei google als Beispiel genommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655392</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:41:07 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 10:45:18 GMT]]></title><description><![CDATA[<p>Decimad schrieb:</p>
<blockquote>
<p>Die meisten CPUs rechnen intern so genau, dass der Rechenfehler kleiner ist, als was durch float oder double unterscheidbar wäre. Wobei sich die Fehler in dem Fall natürlich aufsummieren. Darf ich Fragen, was du berechnest und wo diese Ungenauigkeiten zu katastrophalen Veränderungen des Ergebnisses führen?</p>
</blockquote>
<p>Es kann durchaus sein, dass die Ungenaugkeit sich schnell aufstaut und dann zu unverantwortlichen Fehlern führen. Das ist natürlich vom Kontext abhängig und manchmal auch nicht durch einen anderen Datentypen lösbar. (z.B Matrizenberechnungen) Da müssen dann anderen Wege gefunden werden, um die Ungenaugkeit auszugleichen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655393</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 31 Jan 2009 10:45:18 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 11:03:37 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Decimad schrieb:</p>
<blockquote>
<p>Die meisten CPUs rechnen intern so genau, dass der Rechenfehler kleiner ist, als was durch float oder double unterscheidbar wäre. Wobei sich die Fehler in dem Fall natürlich aufsummieren. Darf ich Fragen, was du berechnest und wo diese Ungenauigkeiten zu katastrophalen Veränderungen des Ergebnisses führen?</p>
</blockquote>
<p>Es kann durchaus sein, dass die Ungenaugkeit sich schnell aufstaut und dann zu unverantwortlichen Fehlern führen. Das ist natürlich vom Kontext abhängig und manchmal auch nicht durch einen anderen Datentypen lösbar. (z.B Matrizenberechnungen) Da müssen dann anderen Wege gefunden werden, um die Ungenaugkeit auszugleichen..</p>
</blockquote>
<p>Ja genau und wie ich versucht habe zu verdeutlichen sind die Rechnungen die zu den Punkten führen sehr sehr lang ... das erklärt auch warum das grundsätzlich immer auftritt, wenn das Programm schon ne weile läuft.</p>
<p>Ich hab jetzt testweise meine Zwischenergbnisse in dateien geschrieben und sofort wieder eingelesen, weil: Es macht keinen Sinn dass das Programm andere Ergebnisse liefert wenn man abspeichert und später weitermacht...<br />
Wie wäre es eleganter (und vor allem schneller/sicherer) als in dateien zu schreiben? Etwa in std::string zwischenspeichern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Und was noch wichtiger ist: Ist die Genauigkeitsverlust bei der Konvertierung in binäre Dateiformate identisch?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655407</guid><dc:creator><![CDATA[eps]]></dc:creator><pubDate>Sat, 31 Jan 2009 11:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 11:06:45 GMT]]></title><description><![CDATA[<p>Also solange es vertretbar ist, würde ich so einen Typen nehmen, der dir das ganze ganz exakt machen kann (natürlich auch nur auf eine beschränkte Anzahl Stellen,aber die sollten besser sein, als bei float). Ich kenne die Lib jetzt nicht genau,aber ich denke, dass die sicher auch richtig speichern/laden können,ohne irgendwelche Verluste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655410</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 31 Jan 2009 11:06:45 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 13:15:06 GMT]]></title><description><![CDATA[<p>So ich hab nun einen Test mit gmp und long double gemacht und ne Weile im Kreis gerechnet. So, dass ich nach etwas sinnloser Rechnerei wieder meine Ausgangswerte habe, usw.<br />
Ergebnis: Mit double und gmp tritt irgendwann ein Fehler auf (Also die Ausgangswerte weichen doch sichtbar ab)! Zwar mit gmp deutlich später, zudem dauert damit alles spürbar länger...<br />
Wie kann das denn sein?! Gibt es nicht Lektüre die dieses Thema behandelt?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655475</guid><dc:creator><![CDATA[eps]]></dc:creator><pubDate>Sat, 31 Jan 2009 13:15:06 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 14:59:15 GMT]]></title><description><![CDATA[<p>eps schrieb:</p>
<blockquote>
<p>Gibt es nicht Lektüre die dieses Thema behandelt?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
</blockquote>
<p>Nein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> Solche dämlichen Probleme haben professionelle Programmierer nicht. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655543</guid><dc:creator><![CDATA[hör mal her]]></dc:creator><pubDate>Sat, 31 Jan 2009 14:59:15 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 15:54:55 GMT]]></title><description><![CDATA[<p>hör mal her schrieb:</p>
<blockquote>
<p>eps schrieb:</p>
<blockquote>
<p>Gibt es nicht Lektüre die dieses Thema behandelt?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
</blockquote>
<p>Nein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> Solche dämlichen Probleme haben professionelle Programmierer nicht. :p</p>
</blockquote>
<p>Gratulation, der Produktivste Beitrag des Tages!!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655580</guid><dc:creator><![CDATA[eps]]></dc:creator><pubDate>Sat, 31 Jan 2009 15:54:55 GMT</pubDate></item><item><title><![CDATA[Reply to epsilon unsichtbar? on Sat, 31 Jan 2009 16:18:52 GMT]]></title><description><![CDATA[<p>Junge, wenn du 1:1 vergleichst, wirst du irgendwann immer Quantisierungsfehler haben, egal ob diese gleitend oder konstant stattfindet. Verbessere deine Algorithmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655591</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 31 Jan 2009 16:18:52 GMT</pubDate></item></channel></rss>