<?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[Seltsames Verhalten]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe hier eine Funktion, die zählen soll wieviel Bits am Anfang (hochwertigstes Bit)eines chars auf high sind. Ich habe mir ziemlich die Zähne ausgebissen, bis es funktionierte. Allerdings kann ich mir nicht erklären, wieso es jetzt funktioniert. Hat jemand eine Ahnung, weshalb nur die eine Variante funktioniert? Ist ja eignetlich genau das geiche.</p>
<pre><code class="language-cpp">inline int LeadingHighBits(char c)
{
  int i = 0;
  int mask = 128;

  for(i = 0; i &lt; 8; ++i)
  {
    // geht!
    //int test = c &amp; mask &gt;&gt; i;
    //if(test == 0) return i;

    // geht nicht!
    //if(c &amp; mask &gt;&gt; i == 0) return i;
  }

  return i;
}

int main(int argc, char **argv)
{
  using namespace std;

  // 3 = korrekt, 8 = falsch
  cout &lt;&lt; LeadingHighBits(128 + 64 + 32) &lt;&lt; endl;

  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/201700/seltsames-verhalten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 03:21:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/201700.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 03 Jan 2008 10:03:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Seltsames Verhalten on Thu, 03 Jan 2008 10:03:19 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe hier eine Funktion, die zählen soll wieviel Bits am Anfang (hochwertigstes Bit)eines chars auf high sind. Ich habe mir ziemlich die Zähne ausgebissen, bis es funktionierte. Allerdings kann ich mir nicht erklären, wieso es jetzt funktioniert. Hat jemand eine Ahnung, weshalb nur die eine Variante funktioniert? Ist ja eignetlich genau das geiche.</p>
<pre><code class="language-cpp">inline int LeadingHighBits(char c)
{
  int i = 0;
  int mask = 128;

  for(i = 0; i &lt; 8; ++i)
  {
    // geht!
    //int test = c &amp; mask &gt;&gt; i;
    //if(test == 0) return i;

    // geht nicht!
    //if(c &amp; mask &gt;&gt; i == 0) return i;
  }

  return i;
}

int main(int argc, char **argv)
{
  using namespace std;

  // 3 = korrekt, 8 = falsch
  cout &lt;&lt; LeadingHighBits(128 + 64 + 32) &lt;&lt; endl;

  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1429767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1429767</guid><dc:creator><![CDATA[__Stefan__]]></dc:creator><pubDate>Thu, 03 Jan 2008 10:03:19 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten on Thu, 03 Jan 2008 10:05:45 GMT]]></title><description><![CDATA[<p>Naja musst die operatoren Bindungsstärke beachten bzw. welcher operator welche Priorität hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1429769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1429769</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 03 Jan 2008 10:05:45 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Verhalten on Thu, 03 Jan 2008 10:11:36 GMT]]></title><description><![CDATA[<p>Oje, da bin ich von etwas falschem ausgegangen. <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 />
Thx.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1429776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1429776</guid><dc:creator><![CDATA[__Stefan__]]></dc:creator><pubDate>Thu, 03 Jan 2008 10:11:36 GMT</pubDate></item></channel></rss>