<?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 um auf 0.0 zu testen?]]></title><description><![CDATA[<p>Hi,<br />
ich habe eine kurze Frage. Wenn ich einer Fließkommazahl 0.0 zuweise und danach auf 0.0 testen will, muss ich mir dann auch ein Epsilon einfallen lassen?</p>
<pre><code>double d = 0.0
if( d == 0.0 ) // Ok? Oder brauche ich hier ein Epsilon?
{
}
</code></pre>
<p>Danke im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/323520/epsilon-um-auf-0-0-zu-testen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 22:21:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/323520.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 02 Feb 2014 21:12:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Sun, 02 Feb 2014 21:12:07 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich habe eine kurze Frage. Wenn ich einer Fließkommazahl 0.0 zuweise und danach auf 0.0 testen will, muss ich mir dann auch ein Epsilon einfallen lassen?</p>
<pre><code>double d = 0.0
if( d == 0.0 ) // Ok? Oder brauche ich hier ein Epsilon?
{
}
</code></pre>
<p>Danke im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381197</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sun, 02 Feb 2014 21:12:07 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Sun, 02 Feb 2014 21:24:54 GMT]]></title><description><![CDATA[<p>ist okay.</p>
<p>edit: ich wollte den thread raussuchen denn das hier wurde schonmal gefragt. leider nicht gefunden.</p>
<p>die begründung war soviel mir ist dass gleich geschriebene literale deterministisch in die datentypen gewandelt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381198</guid><dc:creator><![CDATA[Fytch]]></dc:creator><pubDate>Sun, 02 Feb 2014 21:24:54 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Sun, 02 Feb 2014 21:40:13 GMT]]></title><description><![CDATA[<p>Habe gerade auch einen Thread gefunden: <a href="http://www.c-plusplus.net/forum/197511-full" rel="nofollow">http://www.c-plusplus.net/forum/197511-full</a></p>
<p>Ist aber wohl nicht der, den du meinst, sagt aber auch, dass es ok ist. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381202</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sun, 02 Feb 2014 21:40:13 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Sun, 02 Feb 2014 22:40:21 GMT]]></title><description><![CDATA[<p>Dir ist schon klar, wie Fließkommazahlen repräsentiert werden? 0.0 kann genau dargestellt werden (mit Mantisse 0), damit ist auch kein Fehler-basiertes Vergleichen notwendig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381208</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Sun, 02 Feb 2014 22:40:21 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Sun, 02 Feb 2014 22:44:12 GMT]]></title><description><![CDATA[<p>Dir ist schon klar das der C++ Standard nicht definiert wie Fließkommazahlen repräsentiert werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381210</guid><dc:creator><![CDATA[üpsilon]]></dc:creator><pubDate>Sun, 02 Feb 2014 22:44:12 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Sun, 02 Feb 2014 22:54:41 GMT]]></title><description><![CDATA[<p>üpsilon schrieb:</p>
<blockquote>
<p>Dir ist schon klar das der C++ Standard nicht definiert wie Fließkommazahlen repräsentiert werden?</p>
</blockquote>
<p>Dir ist schon klar dass 0 in allen Fließkommazahl-Repräsentationen exakt darstellbar ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381212</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Sun, 02 Feb 2014 22:54:41 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Sun, 02 Feb 2014 23:02:18 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<p>Dir ist schon klar dass 0 in allen Fließkommazahl-Repräsentationen exakt darstellbar ist?</p>
</blockquote>
<p>Beleg?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381213</guid><dc:creator><![CDATA[zätt]]></dc:creator><pubDate>Sun, 02 Feb 2014 23:02:18 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Sun, 02 Feb 2014 23:03:38 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<p>üpsilon schrieb:</p>
<blockquote>
<p>Dir ist schon klar das der C++ Standard nicht definiert wie Fließkommazahlen repräsentiert werden?</p>
</blockquote>
<p>Dir ist schon klar dass 0 in allen Fließkommazahl-Repräsentationen exakt darstellbar ist?</p>
</blockquote>
<p>Du hast dich da offensichtlich verrannt. Arbeite mal an der Formulierung, so wird das nix. (Ja, ich weiß was du meinst, aber das steht da einfach nicht. Und normalerweise ist das was du meinst in solchen Diskussionen auch für dich irrelevant).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381214</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Sun, 02 Feb 2014 23:03:38 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Mon, 03 Feb 2014 01:48:26 GMT]]></title><description><![CDATA[<p>zätt schrieb:</p>
<blockquote>
<p>Arcoth schrieb:</p>
<blockquote>
<p>Dir ist schon klar dass 0 in allen Fließkommazahl-Repräsentationen exakt darstellbar ist?</p>
</blockquote>
<p>Beleg?</p>
</blockquote>
<p>Öh... <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>
<p>Gut, wie wäre es damit: &quot;In allen gängigen/relevanten Fließkommazahl-Formaten ist 0 exakt darstellbar.&quot; Das ist ohne Zweifel wahr.</p>
<p>Edit: Eine Fließkommazahldarstellung die 0 nicht exakt darstellen kann, ist sowieso Bullshit, worüber diskutieren wir überhaupt!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381217</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Mon, 03 Feb 2014 01:48:26 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Mon, 03 Feb 2014 03:11:30 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<p>Gut, wie wäre es damit: &quot;In allen gängigen/relevanten Fließkommazahl-Formaten ist 0 exakt darstellbar.&quot; Das ist ohne Zweifel wahr.</p>
</blockquote>
<p>Sofern sie nicht aus irgendeiner Rechnung hervorgeht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381227</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 03 Feb 2014 03:11:30 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Mon, 03 Feb 2014 06:55:36 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>Arcoth schrieb:</p>
<blockquote>
<p>Gut, wie wäre es damit: &quot;In allen gängigen/relevanten Fließkommazahl-Formaten ist 0 exakt darstellbar.&quot; Das ist ohne Zweifel wahr.</p>
</blockquote>
<p>Sofern sie nicht aus irgendeiner Rechnung hervorgeht.</p>
</blockquote>
<p>Ich habe die letzten 3 Jahre andere Erfahrungen mit VS08/12 gemacht.</p>
<p>Bei mir ist 0.0 oft nicht exakt dargestellt. Ebenfalls ist 0.0 nicht immer +0.0. Es kann genauso -0.0 sein. Also bitte, wenn ihr mit wissen so protzen wollt dann informiert euch doch bitte erst mal über die Realität.</p>
<p>wir vergleichen auf 10^-8 und fahren damit ganz gut. Ebenfalls sorgen wir dafür das -0.0 zu einem Vorzeichenlosen 0.0 wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381241</guid><dc:creator><![CDATA[dasisthoffentlichwahr]]></dc:creator><pubDate>Mon, 03 Feb 2014 06:55:36 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Mon, 03 Feb 2014 10:45:06 GMT]]></title><description><![CDATA[<p>+0.0 und -0.0 &quot;compare equal&quot; laut IEEE Standard.<br />
Möchtest Du ausdrücken, dass MSVC wirklich 0.0 als irgendetwas anderes als +-0.0 in eine Konstante gießt? Das habe ich noch nicht erlebt, aber kann ja durchaus sein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381279</guid><dc:creator><![CDATA[decimad]]></dc:creator><pubDate>Mon, 03 Feb 2014 10:45:06 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Mon, 03 Feb 2014 10:49:37 GMT]]></title><description><![CDATA[<p>Ich habe erst zu spät gesehen das der TE nicht das Ergebnis einer Operation meint sondern ein &quot;0.0&quot;.</p>
<p>-10.0 + 10.0 ergab mal bei tests -0.0. Dies wurde bei einem</p>
<pre><code>double r = -10.0;
double dRet = r + 10.0;

if( dRet == +0.0 )
return true;
return false;
</code></pre>
<p>nicht mit true beantwortet. Ich weiß nicht mehr welcher Compiler es war, aber meine Quellen hatten damals auch dieses Problem und war nicht die Rede von</p>
<p>&quot;+0.0 und -0.0 &quot;compare equal&quot; laut IEEE Standard.&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381280</guid><dc:creator><![CDATA[ichhoffedasistrichtig]]></dc:creator><pubDate>Mon, 03 Feb 2014 10:49:37 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Mon, 03 Feb 2014 10:54:22 GMT]]></title><description><![CDATA[<p>das, dass man ergebnisse von operationen mit epsilon vergleichen sollte, steht hier gar nicht zur debatte. es geht um die konsistenz der umwandlung der literale zu der tatsächlichen repräsentation der typen. ausserdem sind +0.0 und -0.0 nach ieee 754 bitweise nicht gleich, daher ist der vergleich auch sinnentfremdet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381281</guid><dc:creator><![CDATA[Fytch]]></dc:creator><pubDate>Mon, 03 Feb 2014 10:54:22 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Mon, 03 Feb 2014 11:02:28 GMT]]></title><description><![CDATA[<p>asfdlol schrieb:</p>
<blockquote>
<p>ausserdem sind +0.0 und -0.0 nach ieee 754 bitweise nicht gleich, daher ist der vergleich auch sinnentfremdet.</p>
</blockquote>
<p>Sie sind aber nach dem genannten Standard trotzdem &quot;gleich&quot; bei Vergleichen. Der Unterschied zwischen den beiden ist vor allem das Ergebnis, wenn man 1./+0. und 1./-0. berechnet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381285</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 03 Feb 2014 11:02:28 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Mon, 03 Feb 2014 11:26:15 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>Arcoth schrieb:</p>
<blockquote>
<p>Gut, wie wäre es damit: &quot;In allen gängigen/relevanten Fließkommazahl-Formaten ist 0 exakt darstellbar.&quot; Das ist ohne Zweifel wahr.</p>
</blockquote>
<p>Sofern sie nicht aus irgendeiner Rechnung hervorgeht.</p>
</blockquote>
<p>Ja, korrekt.</p>
<blockquote>
<p>Ich habe die letzten 3 Jahre andere Erfahrungen mit VS08/12 gemacht.</p>
</blockquote>
<p>Das heißt, du behauptest, nach der Initialisierung</p>
<pre><code>double d = 0;
</code></pre>
<p>Hat d einen anderen Wert als 0, und wenn ich d mit irgendeinem anderen <code>double</code> multipliziere, kommt auch nicht 0 heraus? Um das geht es hier, nicht um irgendwelche Vorzeichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381290</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Mon, 03 Feb 2014 11:26:15 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Mon, 03 Feb 2014 15:18:52 GMT]]></title><description><![CDATA[<blockquote>
<p>Conventional wisdom says that you should never compare two floats for equality – you should always use an epsilon. Conventional wisdom is wrong.</p>
<p>I’ve written in great detail about how to compare floating-point values using an epsilon, but there are times when it is just not appropriate. Sometimes there really is an answer that is correct, and in those cases anything less than perfection is just sloppy.</p>
<p>So yes, I’m proudly comparing floats to see if they are equal.</p>
</blockquote>
<p>- <a href="http://randomascii.wordpress.com/2014/01/27/theres-only-four-billion-floatsso-test-them-all/" rel="nofollow">Bruce Dawson</a></p>
<p>Wenn du testen willst, ob der Wert <em>genau gleich</em> 0.0 ist, dann ist es auch in Ordnung mit == zu vergleichen.</p>
<p>Wenn du z.b. eine Funktion hast, die 0.0 als Rückgabewert zurückliefert um eine Fehlersituation anzuzeigen (unabhängig davon ob das jetzt gutes Interfacedesign ist oder nicht ;)), dann macht es keinen Sinn hier mit einem Epsilon zu prüfen, da du ja bereits weißt dass der Wert eben genau 0.0 ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381332</guid><dc:creator><![CDATA[Desdemona]]></dc:creator><pubDate>Mon, 03 Feb 2014 15:18:52 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Mon, 03 Feb 2014 20:04:01 GMT]]></title><description><![CDATA[<p>Desdemona schrieb:</p>
<blockquote>
<p>dann macht es keinen Sinn hier mit einem Epsilon zu prüfen, da du ja bereits weißt dass der Wert eben genau 0.0 ist.</p>
</blockquote>
<p>Joa, das ist bei mir der Fall.</p>
<p>Danke euch alle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381367</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 03 Feb 2014 20:04:01 GMT</pubDate></item><item><title><![CDATA[Reply to Epsilon um auf 0.0 zu testen? on Tue, 04 Feb 2014 00:53:44 GMT]]></title><description><![CDATA[<p>dasisthoffentlichwahr schrieb:</p>
<blockquote>
<p>out schrieb:</p>
<blockquote>
<p>Arcoth schrieb:</p>
<blockquote>
<p>Gut, wie wäre es damit: &quot;In allen gängigen/relevanten Fließkommazahl-Formaten ist 0 exakt darstellbar.&quot; Das ist ohne Zweifel wahr.</p>
</blockquote>
<p>Sofern sie nicht aus irgendeiner Rechnung hervorgeht.</p>
</blockquote>
<p>Ich habe die letzten 3 Jahre andere Erfahrungen mit VS08/12 gemacht.</p>
<p>Bei mir ist 0.0 oft nicht exakt dargestellt. Ebenfalls ist 0.0 nicht immer +0.0. Es kann genauso -0.0 sein. Also bitte, wenn ihr mit wissen so protzen wollt dann informiert euch doch bitte erst mal über die Realität.</p>
<p>wir vergleichen auf 10^-8 und fahren damit ganz gut. Ebenfalls sorgen wir dafür das -0.0 zu einem Vorzeichenlosen 0.0 wird.</p>
</blockquote>
<p>Wenn du 0.0 reintust, dann ist nachher 0.0 drinnen. Und dann kannst du ohne Epsilon gegen 0.0 vergleichen.</p>
<p>Wenn du irgendwas rumrechnest, wo 0.0 rauskommen sollte, dann ist das Ergebnis natürlich nicht unbedingt 0.0 <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 />
Und ob -0.0 oder +0.0 spielt beim Vergleich keine Rolle, da gilt -0.0 == +0.0.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381409</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 04 Feb 2014 00:53:44 GMT</pubDate></item></channel></rss>