<?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[bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27;]]></title><description><![CDATA[<p>hallo. hab eine anfängerfrage obwohl ich nicht wirklich anfänger bin <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="🙄"
    /></p>
<p>es geht um darstellung einer dec zahl als eine bit zahl....</p>
<p>und ich verstehe nicht ganz folgende zeile :</p>
<pre><code>if([b]zahl &amp; (1 &lt;&lt; i)[/b])
{cout &lt;&lt; &quot;1&quot;;}

else
{cout &lt;&lt; &quot;0&quot;;}
</code></pre>
<p>mit <strong>&lt;&lt;</strong> folgt eine verschiebung der bits um eine stelle von <strong>zahl</strong> an der pos. <strong>i</strong> ja ? dabei ist die <strong>1</strong> nur zum vergleich da und nicht um die verschiebung um eins anzugeben...</p>
<p>und warum funktioniert das nicht ?</p>
<pre><code>if([b]zahl &amp; (0 &lt;&lt; i)[/b])
{cout &lt;&lt; &quot;0&quot;;}

else
{cout &lt;&lt; &quot;1&quot;;}
</code></pre>
<p>könnte jemand mal eine plausible erklärung geben, danke im vorraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245126/bit-operator-operation-lt-lt</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 23:32:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245126.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Jul 2009 21:43:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27; on Thu, 09 Jul 2009 21:43:47 GMT]]></title><description><![CDATA[<p>hallo. hab eine anfängerfrage obwohl ich nicht wirklich anfänger bin <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="🙄"
    /></p>
<p>es geht um darstellung einer dec zahl als eine bit zahl....</p>
<p>und ich verstehe nicht ganz folgende zeile :</p>
<pre><code>if([b]zahl &amp; (1 &lt;&lt; i)[/b])
{cout &lt;&lt; &quot;1&quot;;}

else
{cout &lt;&lt; &quot;0&quot;;}
</code></pre>
<p>mit <strong>&lt;&lt;</strong> folgt eine verschiebung der bits um eine stelle von <strong>zahl</strong> an der pos. <strong>i</strong> ja ? dabei ist die <strong>1</strong> nur zum vergleich da und nicht um die verschiebung um eins anzugeben...</p>
<p>und warum funktioniert das nicht ?</p>
<pre><code>if([b]zahl &amp; (0 &lt;&lt; i)[/b])
{cout &lt;&lt; &quot;0&quot;;}

else
{cout &lt;&lt; &quot;1&quot;;}
</code></pre>
<p>könnte jemand mal eine plausible erklärung geben, danke im vorraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740066</guid><dc:creator><![CDATA[rumcajs007]]></dc:creator><pubDate>Thu, 09 Jul 2009 21:43:47 GMT</pubDate></item><item><title><![CDATA[Reply to bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27; on Thu, 09 Jul 2009 21:53:19 GMT]]></title><description><![CDATA[<p>rumcajs007 schrieb:</p>
<blockquote>
<p>und warum funktioniert das nicht ?</p>
<pre><code>if([b]zahl &amp; (0 &lt;&lt; i)[/b])
{cout &lt;&lt; &quot;0&quot;;}

else
{cout &lt;&lt; &quot;1&quot;;}
</code></pre>
<p>könnte jemand mal eine plausible erklärung geben, danke im v****** <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
</blockquote>
<p>was fkt daran nicht? allerdings können wir es ja mal hier durchgehen:<br />
<code>if(zahl &amp; 0)</code><br />
-&gt;<br />
<code>if(0)</code></p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740073</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 09 Jul 2009 21:53:19 GMT</pubDate></item><item><title><![CDATA[Reply to bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27; on Fri, 10 Jul 2009 08:38:49 GMT]]></title><description><![CDATA[<p>rumcajs007 schrieb:</p>
<blockquote>
<p>mit <strong>&lt;&lt;</strong> folgt eine verschiebung der bits um eine stelle von <strong>zahl</strong> an der pos. <strong>i</strong> ja ? dabei ist die <strong>1</strong> nur zum vergleich da und nicht um die verschiebung um eins anzugeben...</p>
</blockquote>
<p>Da hast du nicht richtig verstanden, was &lt;&lt; macht:</p>
<pre><code class="language-cpp">a&lt;&lt;b
</code></pre>
<p>verschiebt das Bitmuster von a um b Stellen nach links.</p>
<p>Ein Beispiel: a=3, b=2.<br />
Bitmuster von a: 0011<br />
Um zwei Stellen verschoben: 1100</p>
<p>Und wie du nun sicher siehst, ist es sehr wichtig, ob da 1 oder 0 steht, denn 0&lt;&lt;i ist immer 0 und 1&lt;&lt;i ist immer von Null verschieden (Es gilt sogar, dass 1&lt;&lt;i die i-te Potenz von 2 ist. Dies ist ein zentraler Punkt deines Beispielprogramms).</p>
<p>edit: Tippfehler im Beispiel korrigiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740081</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 10 Jul 2009 08:38:49 GMT</pubDate></item><item><title><![CDATA[Reply to bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27; on Thu, 09 Jul 2009 22:06:42 GMT]]></title><description><![CDATA[<p>verstehe nmicht ganz was du jetzt meinst, jedenfalls soll die 1 doch die verschiebung andeuten, um eine stele anscheind...</p>
<p>wollte eigentlich wissen was die zeile zahl &amp; (0 &lt;&lt; i) bedeutet.</p>
<p>danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740082</guid><dc:creator><![CDATA[rumcajs007]]></dc:creator><pubDate>Thu, 09 Jul 2009 22:06:42 GMT</pubDate></item><item><title><![CDATA[Reply to bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27; on Thu, 09 Jul 2009 22:08:26 GMT]]></title><description><![CDATA[<p>und was ist dann mit a&lt;&lt;=b ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740083</guid><dc:creator><![CDATA[rumcajs007]]></dc:creator><pubDate>Thu, 09 Jul 2009 22:08:26 GMT</pubDate></item><item><title><![CDATA[Reply to bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27; on Thu, 09 Jul 2009 22:09:26 GMT]]></title><description><![CDATA[<p>Ein Beispiel: a=3, b=2.<br />
Bitmuster von a: 0011<br />
Um zwei Stellen verschoben: <strong>1100</strong></p>
<p>wäre richtg oder :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740085</guid><dc:creator><![CDATA[rumcajs007]]></dc:creator><pubDate>Thu, 09 Jul 2009 22:09:26 GMT</pubDate></item><item><title><![CDATA[Reply to bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27; on Thu, 09 Jul 2009 22:53:33 GMT]]></title><description><![CDATA[<p>so, man könnte es auch so formulieren :</p>
<p>zbsp.<br />
if(7 &amp; (1 &lt;&lt; i))<br />
{cout &lt;&lt; &quot;1&quot;;}</p>
<p>else<br />
{cout &lt;&lt; &quot;0&quot;;}</p>
<p>7 entspricht 0111 ...</p>
<p>bei i=3 ist eine null da somit kommt ne 0 raus da 0 ≠ 1 sei ...<br />
bei i=2,1,0 eine eins (1==1) also kommen da einser raus.</p>
<p>ausgabe : 0111</p>
<p>korrekt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740098</guid><dc:creator><![CDATA[rumcajs007]]></dc:creator><pubDate>Thu, 09 Jul 2009 22:53:33 GMT</pubDate></item><item><title><![CDATA[Reply to bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27; on Thu, 09 Jul 2009 22:56:11 GMT]]></title><description><![CDATA[<p>rumcajs007 schrieb:</p>
<blockquote>
<p>verstehe nmicht ganz was du jetzt meinst, jedenfalls soll die 1 doch die verschiebung andeuten, um eine stele anscheind...</p>
</blockquote>
<p>Nein, nein, nein. Die 1 wird verschoben. Nehmen wir den Ausdruck mal auseinander:</p>
<pre><code>zahl &amp; (1 &lt;&lt; i)
</code></pre>
<p>Zuerst wird die Klammer ausgeführt:</p>
<pre><code>1 &lt;&lt; i
</code></pre>
<p>Die Bits der Repräsentation der Zahl 1, bei einer 4-Bit-Zahl also 0001, werden um i Stellen nach links verschoben, also für i = 3 z. B. 1000. Somit erhälst du folgende Werte:</p>
<pre><code>i    1 &lt;&lt; i
0    1
1    2
2    4
3    8
4    16
usw.
</code></pre>
<p>Nennen wir 1 &lt;&lt; i mal muster. Nehmen wir nun den ganzen Ausdruck, der sich dann vereinfacht zu</p>
<pre><code>zahl &amp; muster
</code></pre>
<p>Das bitweise Und setzt genau dann das Ergebnisbit auf 1, wenn beide Eingangsbits 1 sind. Da bei muster immer nur ein Bit gesetzt sit, ergibt der ganze Ausdruck zahl &amp; muster nur dann nicht 0, wenn das entsprechende Bit von zahl auch gesetzt ist.</p>
<p>Beispiel: zahl = 1011</p>
<pre><code>i = 0: 1011 &amp; 0001 = 0001 =&gt; true (1)
i = 1: 1011 &amp; 0010 = 0010 =&gt; true (1)
i = 2: 1011 &amp; 0100 = 0000 =&gt; false (0)
i = 3: 1011 &amp; 0100 = 1000 =&gt; true (1)
</code></pre>
<p>Du siehst also, dass man, wenn man die Ergebnisse der if-Abfragen von unten nach oben liest, die einzelnen Bits von zahl erhält.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740100</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Thu, 09 Jul 2009 22:56:11 GMT</pubDate></item><item><title><![CDATA[Reply to bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27; on Fri, 10 Jul 2009 08:35:47 GMT]]></title><description><![CDATA[<p>rumcajs007 schrieb:</p>
<blockquote>
<p>Ein Beispiel: a=3, b=2.<br />
Bitmuster von a: 0011<br />
Um zwei Stellen verschoben: <strong>1100</strong></p>
<p>wäre richtg oder :p</p>
</blockquote>
<p>Ja, war ein Tippfehler meinerseits.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740199</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 10 Jul 2009 08:35:47 GMT</pubDate></item><item><title><![CDATA[Reply to bit operator&#x2F;operation &#x27;&amp;lt;&amp;lt;&#x27; on Fri, 10 Jul 2009 08:51:06 GMT]]></title><description><![CDATA[<p>ja gut, jetzt leuchtets ein...<br />
vielen dank nochmal an alle klärenden, speziell an Michael <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
gruss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1740204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1740204</guid><dc:creator><![CDATA[rumcajs007]]></dc:creator><pubDate>Fri, 10 Jul 2009 08:51:06 GMT</pubDate></item></channel></rss>