<?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[Wahrheitsausdruck]]></title><description><![CDATA[<p><strong>Hallo</strong></p>
<p>Ich bin immer noch nicht so ganz sicher, wie ein Wahrheitsausdruck aussehen muss und ob jetzt true oder 1 für einen wahren Ausdruck ausgewertet wird.</p>
<p>In diesem Beispiel mache ich es ziemlich naiv:</p>
<pre><code class="language-cpp">switch (direction) {
  case 1:
  case 8:
    if ((rook_attack_bitboard(king_square(me), blockers) &amp; rook_and_queen_bitboard(you)) != 0) return 1;
    break;

  case 7:
  case 9:
    if ((bishop_attack_bitboard(king_square(me), blockers) &amp; bishop_and_queen_bitboard(you)) != 0) return 1;
    break;
  }

  return 0;
</code></pre>
<p>Würde es auch so gehen und was wäre der Returnwert, bool (false/true) oder int (0/1) ?</p>
<pre><code class="language-cpp">switch (direction) {
  case 1:
  case 8:
    return ((rook_attack_bitboard(king_square(me), blockers) &amp; rook_and_queen_bitboard(you)) != 0);

  case 7:
  case 9:
    return ((bishop_attack_bitboard(king_square(me), blockers) &amp; bishop_and_queen_bitboard(you)) != 0);
  }
</code></pre>
<p><strong>Danke für eure Aufklärung!</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/254912/wahrheitsausdruck</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 07:08:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254912.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Nov 2009 08:18:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 08:28:32 GMT]]></title><description><![CDATA[<p><strong>Hallo</strong></p>
<p>Ich bin immer noch nicht so ganz sicher, wie ein Wahrheitsausdruck aussehen muss und ob jetzt true oder 1 für einen wahren Ausdruck ausgewertet wird.</p>
<p>In diesem Beispiel mache ich es ziemlich naiv:</p>
<pre><code class="language-cpp">switch (direction) {
  case 1:
  case 8:
    if ((rook_attack_bitboard(king_square(me), blockers) &amp; rook_and_queen_bitboard(you)) != 0) return 1;
    break;

  case 7:
  case 9:
    if ((bishop_attack_bitboard(king_square(me), blockers) &amp; bishop_and_queen_bitboard(you)) != 0) return 1;
    break;
  }

  return 0;
</code></pre>
<p>Würde es auch so gehen und was wäre der Returnwert, bool (false/true) oder int (0/1) ?</p>
<pre><code class="language-cpp">switch (direction) {
  case 1:
  case 8:
    return ((rook_attack_bitboard(king_square(me), blockers) &amp; rook_and_queen_bitboard(you)) != 0);

  case 7:
  case 9:
    return ((bishop_attack_bitboard(king_square(me), blockers) &amp; bishop_and_queen_bitboard(you)) != 0);
  }
</code></pre>
<p><strong>Danke für eure Aufklärung!</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812121</guid><dc:creator><![CDATA[Tomahawk]]></dc:creator><pubDate>Mon, 23 Nov 2009 08:28:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 09:35:23 GMT]]></title><description><![CDATA[<p>probier's aus -- müsste klappen. Die bool-&gt;int Konvertierung macht aus false 0 und aus true 1.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812149</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Mon, 23 Nov 2009 09:35:23 GMT</pubDate></item><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 09:36:34 GMT]]></title><description><![CDATA[<p>Ich würde bei boole-Variablen true/false verwenden. Ist einfach schöner.</p>
<p>Aber, es gilt 0 entspricht false und alles verschieden von 0 ist true.</p>
<p>Achte noch genau auf die Operatorn. &amp; und &amp;&amp; haben verschiedene Bedeutung und ich bin mir nicht sicher ob du tatsächlich &amp; gemeint hast. <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>
<p>Der return-Wert hängt davon ab, ob in der Definition deiner Funktion int oder boole als Rückgabetyp vorgesehen sind. Es wird dann intern in den entsprechenden Typ umgewandelt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812152</guid><dc:creator><![CDATA[HurgaHurga]]></dc:creator><pubDate>Mon, 23 Nov 2009 09:36:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 09:39:53 GMT]]></title><description><![CDATA[<p>HurgaHurga schrieb:</p>
<blockquote>
<p>Ich würde bei boole-Variablen true/false verwenden. Ist einfach schöner.</p>
<p>Aber, es gilt 0 entspricht false und alles verschieden von 0 ist true.</p>
<p>Achte noch genau auf die Operatorn. &amp; und &amp;&amp; haben verschiedene Bedeutung und ich bin mir nicht sicher ob du tatsächlich &amp; gemeint hast. <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>
<p>Der return-Wert hängt davon ab, ob in der Definition deiner Funktion int oder boole als Rückgabetyp vorgesehen sind. Es wird dann intern in den entsprechenden Typ umgewandelt.</p>
</blockquote>
<p>Die Verwendung von &amp; ist schon korrekt. Es werden 64-Bit Bitmasken geprüft. Diese Funktion gibt int-Werte zurück, sind allerdings nur Wahrheitswerte, also 0 oder nicht 0.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812154</guid><dc:creator><![CDATA[Tomahawk]]></dc:creator><pubDate>Mon, 23 Nov 2009 09:39:53 GMT</pubDate></item><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 09:51:39 GMT]]></title><description><![CDATA[<p>OK.</p>
<p>Den Vergleich auf != 0 kannst du dir übrigens sparen.</p>
<p>1 != 0 ergibt 1<br />
0 != 0 ergibt 0</p>
<p>Macht die Klammerung vielleicht etwas übersichtlicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812164</guid><dc:creator><![CDATA[HurgaHurga]]></dc:creator><pubDate>Mon, 23 Nov 2009 09:51:39 GMT</pubDate></item><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 18:20:06 GMT]]></title><description><![CDATA[<p>Mach dir nicht so viele Gedanken um bool oder int! In C und C++ gibt es den Datentyp 'bool' nicht, er ist 'int'. Ein Wert 0 ist false, alles andere ist true. Die verfügbaren Werte FALSE und TRUE sind defines auf 0 und 1. Die Schlüssigkeit einer if-Abfrage obliegt dem Programmierer!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812513</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Mon, 23 Nov 2009 18:20:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 18:24:40 GMT]]></title><description><![CDATA[<p>berniebutt schrieb:</p>
<blockquote>
<p>Mach dir nicht so viele Gedanken um bool oder int! In C und C++ gibt es den Datentyp 'bool' nicht, er ist 'int'. Ein Wert 0 ist false, alles andere ist true. Die verfügbaren Werte FALSE und TRUE sind defines auf 0 und 1. Die Schlüssigkeit einer if-Abfrage obliegt dem Programmierer!</p>
</blockquote>
<p>*Räusper*</p>
<p>In C vielleicht nicht, in C++ gibt es sehr wohl einen Datentyp bool. C++ Standard, 3.9.1,6.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812518</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 23 Nov 2009 18:24:40 GMT</pubDate></item><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 18:29:55 GMT]]></title><description><![CDATA[<blockquote>
<p>In C vielleicht nicht, in C++ gibt es sehr wohl einen Datentyp bool. C++ Standard, 3.9.1,6.</p>
</blockquote>
<p>Stimmt so auch nicht. Seit C99 gibts &lt;stdboo.h&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812521</guid><dc:creator><![CDATA[besserwisser]]></dc:creator><pubDate>Mon, 23 Nov 2009 18:29:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 18:36:47 GMT]]></title><description><![CDATA[<p>besserwisser schrieb:</p>
<blockquote>
<p>Stimmt so auch nicht. Seit C99 gibts &lt;stdboo.h&gt;</p>
</blockquote>
<p>Cool, wusste ich noch gar nicht. Das muss ich mir merken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812529</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 23 Nov 2009 18:36:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 18:45:53 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>besserwisser schrieb:</p>
<blockquote>
<p>Stimmt so auch nicht. Seit C99 gibts &lt;stdboo.h&gt;</p>
</blockquote>
<p>Cool, wusste ich noch gar nicht. Das muss ich mir merken.</p>
</blockquote>
<p>Ja, man spart dann bei jeder Deklaration vielleicht einige wenige Bytes. Ist das relevant und wollte der Fragesteller das wissen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812537</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Mon, 23 Nov 2009 18:45:53 GMT</pubDate></item><item><title><![CDATA[Reply to Wahrheitsausdruck on Mon, 23 Nov 2009 18:59:27 GMT]]></title><description><![CDATA[<p>berniebutt schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>besserwisser schrieb:</p>
<blockquote>
<p>Stimmt so auch nicht. Seit C99 gibts &lt;stdboo.h&gt;</p>
</blockquote>
<p>Cool, wusste ich noch gar nicht. Das muss ich mir merken.</p>
</blockquote>
<p>Ja, man spart dann bei jeder Deklaration vielleicht einige wenige Bytes. Ist das relevant und wollte der Fragesteller das wissen?</p>
</blockquote>
<p>Stimmt so nicht. In &lt;stdbool.h&gt; ist bool eigentlich ein typedef auf int.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812551</guid><dc:creator><![CDATA[Besswerisser]]></dc:creator><pubDate>Mon, 23 Nov 2009 18:59:27 GMT</pubDate></item></channel></rss>