<?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[Vergleich mit der Zahl 0 bei double Werten]]></title><description><![CDATA[<p>Servus,</p>
<p>ich habe zwei Vektoren, die double-Werte halten. Wenn das Paar 0 und 0 ist, sollen die Werte nicht berücksichtigt werden, wohl aber wenn das Paar etwa 5 und 5 ist. Wie mache ich das?</p>
<p>Bis jetzt nahm ich oft den Absolutbetrag der Differenz ... aber das geht ja in dem Fall nicht. Eine Verränkung mit erst auf zwischen 0 und 0.5 prüfen und dann auf Differenz fällt mir ein, aber da gibts bestimmt was eleganteres oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/290735/vergleich-mit-der-zahl-0-bei-double-werten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 06:28:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/290735.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Aug 2011 12:26:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vergleich mit der Zahl 0 bei double Werten on Tue, 02 Aug 2011 12:26:28 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ich habe zwei Vektoren, die double-Werte halten. Wenn das Paar 0 und 0 ist, sollen die Werte nicht berücksichtigt werden, wohl aber wenn das Paar etwa 5 und 5 ist. Wie mache ich das?</p>
<p>Bis jetzt nahm ich oft den Absolutbetrag der Differenz ... aber das geht ja in dem Fall nicht. Eine Verränkung mit erst auf zwischen 0 und 0.5 prüfen und dann auf Differenz fällt mir ein, aber da gibts bestimmt was eleganteres oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2100819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2100819</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Tue, 02 Aug 2011 12:26:28 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleich mit der Zahl 0 bei double Werten on Tue, 02 Aug 2011 12:42:07 GMT]]></title><description><![CDATA[<p>Jay1980 schrieb:</p>
<blockquote>
<p>Bis jetzt nahm ich oft den Absolutbetrag der Differenz ... aber das geht ja in dem Fall nicht. Eine Verränkung mit erst auf zwischen 0 und 0.5 prüfen und dann auf Differenz fällt mir ein, aber da gibts bestimmt was eleganteres oder ?</p>
</blockquote>
<p>Normalerweise prüft man bei fließkommazahlen, ob sie um einen Betrag kleiner als EPSILON vom Zielbetrag abweichen. Wie groß EPSILON ist, ist dabei dem Entwickler überlassen, verschiedene Frameworks bieten da verschiedene Konstanten für an. In deinem Fall wäre also die Abfrage etwa wie folgt:</p>
<pre><code class="language-cpp">if (abs(vec1[i]) &lt; EPSILON &amp;&amp; abs(vec2[i]) &lt; EPSILON)
</code></pre>
<p>Manche bieten auch Funktionen wie <code>bool near(doubla a, double b)</code> , die das Ganze kapseln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2100827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2100827</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 02 Aug 2011 12:42:07 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleich mit der Zahl 0 bei double Werten on Tue, 02 Aug 2011 12:46:07 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;limits&gt;
int main()
{
	using namespace std;
	typedef pair&lt;double, double&gt; TPair;
	typedef vector&lt;TPair&gt; TVec;
	TVec vec;
	vec.push_back( make_pair( 0.0, 0.0 ) );
	vec.push_back( make_pair( 0.1, 0.0 ) );
	double eps( numeric_limits&lt;double&gt;::epsilon() );
	for( TVec::iterator it( vec.begin() ); it != vec.end(); ++it )
	{
		if ( ( fabs( it-&gt;first ) &lt; eps ) &amp;&amp; ( fabs( it-&gt;second ) &lt; eps ) )
		{
			// ...
		}	
	}
}
</code></pre>
<p>Edit: Argh, schon wieder zu lahm. <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/2100829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2100829</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Tue, 02 Aug 2011 12:46:07 GMT</pubDate></item></channel></rss>