<?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[Richtig Shiften]]></title><description><![CDATA[<p>Hi,</p>
<p>nur mal eine generelle Frage, beides funktioniert, aber gibt es einen Grund eine von den 2 Methoden vorzuziehen, oder ist das egal ? Also erst logisch verknüpfen dann shiften, oder erst shiften und dann logisch verknüpfen, oder egal ?</p>
<p>Methode 1</p>
<pre><code class="language-cpp">int clRGB  = ColorToRGB( clMyColor );
 int red    =  colRGB &amp; 0x000000FF;
 int green  = (colRGB &amp; 0x0000FF00) &gt;&gt; 8;
 int blue   = (colRGB &amp; 0x00FF0000) &gt;&gt; 16;
</code></pre>
<p>Methode 2</p>
<pre><code class="language-cpp">int clRGB  = ColorToRGB( clMyColor );
 int red    =  colRGB        &amp; 0x000000FF;
 int green  = (colRGB &gt;&gt;  8) &amp; 0x000000FF;
 int blue   = (colRGB &gt;&gt; 16) &amp; 0x000000FF;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/239452/richtig-shiften</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 12:34:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/239452.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Apr 2009 16:33:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Richtig Shiften on Thu, 23 Apr 2009 16:33:14 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>nur mal eine generelle Frage, beides funktioniert, aber gibt es einen Grund eine von den 2 Methoden vorzuziehen, oder ist das egal ? Also erst logisch verknüpfen dann shiften, oder erst shiften und dann logisch verknüpfen, oder egal ?</p>
<p>Methode 1</p>
<pre><code class="language-cpp">int clRGB  = ColorToRGB( clMyColor );
 int red    =  colRGB &amp; 0x000000FF;
 int green  = (colRGB &amp; 0x0000FF00) &gt;&gt; 8;
 int blue   = (colRGB &amp; 0x00FF0000) &gt;&gt; 16;
</code></pre>
<p>Methode 2</p>
<pre><code class="language-cpp">int clRGB  = ColorToRGB( clMyColor );
 int red    =  colRGB        &amp; 0x000000FF;
 int green  = (colRGB &gt;&gt;  8) &amp; 0x000000FF;
 int blue   = (colRGB &gt;&gt; 16) &amp; 0x000000FF;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1700298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1700298</guid><dc:creator><![CDATA[C++ Learner]]></dc:creator><pubDate>Thu, 23 Apr 2009 16:33:14 GMT</pubDate></item><item><title><![CDATA[Reply to Richtig Shiften on Thu, 23 Apr 2009 17:40:50 GMT]]></title><description><![CDATA[<p>Ich finde die zweite besser, man hat hinten immer das Gleiche stehen (ich würde aber 0xFF statt 0x000000FF schreiben) <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/1700326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1700326</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 23 Apr 2009 17:40:50 GMT</pubDate></item><item><title><![CDATA[Reply to Richtig Shiften on Thu, 23 Apr 2009 17:50:11 GMT]]></title><description><![CDATA[<p>Ich finde beim ersten sieht man besser, wie das funktioniert, weil man da die Bitmasken klar als solche erkennen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1700329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1700329</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 23 Apr 2009 17:50:11 GMT</pubDate></item><item><title><![CDATA[Reply to Richtig Shiften on Thu, 23 Apr 2009 17:55:39 GMT]]></title><description><![CDATA[<p>Ja, die 2. Methode gefällt mir auch besser, da könnte man statt 0xFF auch eine Variable einsetzen. Bei Methode 1 war ich mir nicht sicher ob evtl. doch beim Shiften von links noch 1-zen eingefügt werden können.</p>
<p>Ist das beim Verknüpfen mit 0xFF sicher dass alle bits links von FF auf 0 sind ? Deshalb habe ich die linken 3 Bytes explizit auf 0 gesetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1700336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1700336</guid><dc:creator><![CDATA[C++ Learner]]></dc:creator><pubDate>Thu, 23 Apr 2009 17:55:39 GMT</pubDate></item><item><title><![CDATA[Reply to Richtig Shiften on Thu, 23 Apr 2009 17:58:56 GMT]]></title><description><![CDATA[<p>also ich find die erste variante hübscher ^^</p>
<p>zum zweiten: da würd ich (auch) nur 0xFF schreiben</p>
<blockquote>
<p>Ist das beim Verknüpfen mit 0xFF sicher dass alle bits links von FF auf 0 sind ? Deshalb habe ich die linken 3 Bytes explizit auf 0 gesetzt.</p>
</blockquote>
<p>klar...<br />
wenn du 8 eingibst, kann doch au net sein, dass da davor noch bits gesetzt sind und dann auf einmal 24 oder so rauskommt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1700338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1700338</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 23 Apr 2009 17:58:56 GMT</pubDate></item><item><title><![CDATA[Reply to Richtig Shiften on Thu, 23 Apr 2009 18:09:07 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>klar...<br />
wenn du 8 eingibst, kann doch au net sein, dass da davor noch bits gesetzt sind und dann auf einmal 24 oder so rauskommt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>bb</p>
</blockquote>
<p>Ja, bei einer Zuweisung ist mir das klar, aber beim logischen Verknüpfen könnte der Compiler ja in diesem Beispiel auch einen char statt einen int nehmen ? Da war ich mir nicht sicher ob dann mit 8-Bit die restlichen 24 auf 0 gesetzt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1700345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1700345</guid><dc:creator><![CDATA[C++ Learner]]></dc:creator><pubDate>Thu, 23 Apr 2009 18:09:07 GMT</pubDate></item></channel></rss>