<?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[Frage zu if()]]></title><description><![CDATA[<p>Hallo,<br />
ich lese gerade wieder mal im Primer und da ist mir aufgefallen, dass dort folgendes gemacht wird, natürlich mit ein wenig mehr Sinn <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>
<pre><code class="language-cpp">int integer;
std::cin&gt;&gt;integer;

if(integer)
return 10/integer;
else
return 0;
</code></pre>
<p>Ich verstehe dieses so, dass sie nicht wollen, dass durch 0 geteilt wird.<br />
Nur dachte ich immer, dass:</p>
<pre><code>if(integer) = if(integer == 1)
und
if(!integer) = if(integer == 0)
</code></pre>
<p>Nur kann dies ja nicht mehr sein, es muss (nach dem Primer <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="🙂"
    /> ) so heißen:</p>
<pre><code>if(integer) = if(integer != 0)
oder
if(integer) = if(integer &gt; 0)
</code></pre>
<p>Habe ich immer falsch gelegen oder bin ich einfach nur ein wenig durcheinander gekommen?</p>
<p>Gruß Speedy_92</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/222515/frage-zu-if</link><generator>RSS for Node</generator><lastBuildDate>Sun, 04 Oct 2026 23:32:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/222515.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 13 Sep 2008 17:48:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu if() on Sat, 13 Sep 2008 17:51:12 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich lese gerade wieder mal im Primer und da ist mir aufgefallen, dass dort folgendes gemacht wird, natürlich mit ein wenig mehr Sinn <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>
<pre><code class="language-cpp">int integer;
std::cin&gt;&gt;integer;

if(integer)
return 10/integer;
else
return 0;
</code></pre>
<p>Ich verstehe dieses so, dass sie nicht wollen, dass durch 0 geteilt wird.<br />
Nur dachte ich immer, dass:</p>
<pre><code>if(integer) = if(integer == 1)
und
if(!integer) = if(integer == 0)
</code></pre>
<p>Nur kann dies ja nicht mehr sein, es muss (nach dem Primer <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="🙂"
    /> ) so heißen:</p>
<pre><code>if(integer) = if(integer != 0)
oder
if(integer) = if(integer &gt; 0)
</code></pre>
<p>Habe ich immer falsch gelegen oder bin ich einfach nur ein wenig durcheinander gekommen?</p>
<p>Gruß Speedy_92</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581445</guid><dc:creator><![CDATA[Speedy_92]]></dc:creator><pubDate>Sat, 13 Sep 2008 17:51:12 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu if() on Sat, 13 Sep 2008 17:50:38 GMT]]></title><description><![CDATA[<p>false = 0<br />
true = alles andere</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581446</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 13 Sep 2008 17:50:38 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu if() on Sat, 13 Sep 2008 17:53:20 GMT]]></title><description><![CDATA[<p>Vielen Dank.<br />
Ist true auch negativ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581448</guid><dc:creator><![CDATA[Speedy_92]]></dc:creator><pubDate>Sat, 13 Sep 2008 17:53:20 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu if() on Sat, 13 Sep 2008 17:54:23 GMT]]></title><description><![CDATA[<p>Speedy_92 schrieb:</p>
<blockquote>
<p>Vielen Dank.<br />
Ist true auch negativ?</p>
</blockquote>
<p>Ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581449</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 13 Sep 2008 17:54:23 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu if() on Sat, 13 Sep 2008 18:18:16 GMT]]></title><description><![CDATA[<p>Einerseits werden (schon nur aus C-Kompatibilität) alle integralen Werte ausser 0 als <code>true</code> aufgefasst, wenn es um einen boolschen Ausdruck geht. Andererseits, wenn du explizit <code>true</code> schreibst, z.B. so:</p>
<pre><code class="language-cpp">long i = true;
</code></pre>
<p>, dann wird für <code>true</code> der Wert 1 eingesetzt.</p>
<p><code>true</code> ist also genau genommen nicht negativ, aber Negatives kann <code>true</code> sein <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/1581455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581455</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 13 Sep 2008 18:18:16 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu if() on Sat, 13 Sep 2008 19:09:37 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Einerseits werden (schon nur aus C-Kompatibilität) alle integralen Werte ausser 0 als <code>true</code> aufgefasst, wenn es um einen boolschen Ausdruck geht. Andererseits, wenn du explizit <code>true</code> schreibst, z.B. so:</p>
<pre><code class="language-cpp">long i = true;
</code></pre>
<p>, dann wird für <code>true</code> der Wert 1 eingesetzt.</p>
<p><code>true</code> ist also genau genommen nicht negativ, aber Negatives kann <code>true</code> sein <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>
</blockquote>
<p>Den Spruch merke ich mir <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/1581470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581470</guid><dc:creator><![CDATA[Speedy_92]]></dc:creator><pubDate>Sat, 13 Sep 2008 19:09:37 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu if() on Sun, 14 Sep 2008 11:36:10 GMT]]></title><description><![CDATA[<p>Genau das ist es was man verstehen muss.<br />
Erst einmal wird 0 und 1 definiert als Wahrheitswert.<br />
0 = Strom aus = False<br />
1 = Strom ein = True</p>
<p>Das Problem bei der Prüfung ist hier natürlich, das man nur auf 0 und 1 testen könnte.<br />
Man sagt also (Definition) das 0 = False und !0 = True ist.<br />
-5 ist &lt; 0. Das heißt doch, es ist ungleich 0, und somit wahr.<br />
Die Rückgabe der Auswertung als Wahrheitswert folgt nach der Definition.</p>
<p>Doch Vorsicht bei unterschiedlichen Datentypen (explizite Umwandlung)</p>
<pre><code class="language-cpp">int a = -1;
unsigned int b = 0;

if(b &lt; a) {
    // b ist der Operand der verglichen werden soll mit a
    // a wird somit umgewandelt nach unsigned int
    // -1(int) nach uint ergibt uint(max) [Überlauf]
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1581674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581674</guid><dc:creator><![CDATA[durella]]></dc:creator><pubDate>Sun, 14 Sep 2008 11:36:10 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu if() on Sun, 14 Sep 2008 12:35:13 GMT]]></title><description><![CDATA[<p>Versuch einfach if (integer) zu vermeiden. Mach es explizit und du bist immer auf der sicheren Seite.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581699</guid><dc:creator><![CDATA[Ponto]]></dc:creator><pubDate>Sun, 14 Sep 2008 12:35:13 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu if() on Sun, 14 Sep 2008 14:14:04 GMT]]></title><description><![CDATA[<p>Ponto schrieb:</p>
<blockquote>
<p>Versuch einfach if (integer) zu vermeiden. Mach es explizit und du bist immer auf der sicheren Seite.</p>
</blockquote>
<p>Würde ich auch raten. Wahrscheinlich wird das eh rausoptimiert, wenn man noch ein <code>!= 0</code> hineinschreibt, im Gegenzug weiss man gerade, dass es um einen Vergleich von Ganzzahlen geht.</p>
<p>Bei dem hier sollte man eigentlich eine Warnung erhalten:</p>
<pre><code class="language-cpp">int a = -1; 
unsigned int b = 0; 

if(b &lt; a)
    // ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1581749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581749</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 14 Sep 2008 14:14:04 GMT</pubDate></item></channel></rss>