<?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[Bitweises Abfragen]]></title><description><![CDATA[<p>Ich habe eine 1 Byte grosse Variable und möchte wissen ob das 8-te bit gesetzt ist.</p>
<p>(Byte &amp; 0x80) so ungefähr</p>
<p>warum die null nach der 8?<br />
wäre das nicht eigentlich das 24ste bit?<br />
hänge ich immer noch eine 0 daran?</p>
<p>danke muli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148366/bitweises-abfragen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 19:40:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148366.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 May 2006 23:50:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bitweises Abfragen on Thu, 25 May 2006 23:50:30 GMT]]></title><description><![CDATA[<p>Ich habe eine 1 Byte grosse Variable und möchte wissen ob das 8-te bit gesetzt ist.</p>
<p>(Byte &amp; 0x80) so ungefähr</p>
<p>warum die null nach der 8?<br />
wäre das nicht eigentlich das 24ste bit?<br />
hänge ich immer noch eine 0 daran?</p>
<p>danke muli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065182</guid><dc:creator><![CDATA[muli]]></dc:creator><pubDate>Thu, 25 May 2006 23:50:30 GMT</pubDate></item><item><title><![CDATA[Reply to Bitweises Abfragen on Fri, 26 May 2006 00:34:54 GMT]]></title><description><![CDATA[<p>0x80 ist eine Hexadezimalzahl.</p>
<pre><code>0x80 = 128 (dezimal) = 10000000 (binär)
</code></pre>
<p>Wenn du jetzt das siebte Bit abfragen willst, dann nimmst du</p>
<pre><code>0x40 = 64 (dezimal) = 01000000 (binär)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1065183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065183</guid><dc:creator><![CDATA[SomeBody]]></dc:creator><pubDate>Fri, 26 May 2006 00:34:54 GMT</pubDate></item><item><title><![CDATA[Reply to Bitweises Abfragen on Fri, 26 May 2006 06:17:59 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4913">@muli</a>:<br />
Du hast die Bit Operationen noch nicht verstanden oder? <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="🙂"
    /><br />
Ich geb dir mal einen kurzen Überblick:</p>
<p>Man arbeitet hier ausschließlich mit Binärzahlen, daher musst du die 0x80 (hexadezimalsystem) als Binärzahl sehen, also 10000000. Wenn du diese Zahl mit deinem Byte verknüpfst (mit einem Bitweisen <em>und</em>) dann passiert folgendes:</p>
<pre><code class="language-cpp">1 &amp; 1 = 1
1 &amp; 0 = 0
0 &amp; 1 = 0
0 &amp; 0 = 0
</code></pre>
<p>Nemen wir an dein Byte hat die Zahl 141, diese entspricht im Binärsystem der 10001101. Jetzt werden beide Binären Zahlen verknüpft:</p>
<pre><code class="language-cpp">10000000
10001101
--------
10000000
</code></pre>
<p>und, tataaaa... Du bekommst eine Zahl raus, und zwar genau die 0x80. Wir sehen also, das 8. Bit ist gesetzt. Wenn nun allerdings das 8. Bit nicht gesetzt ist, was passiert dann?</p>
<pre><code class="language-cpp">10000000
01001101
--------
00000000
</code></pre>
<p>Dann sind &amp; Verknüpfungen der Bits unwahr und du bekommst die Zahl 0 zurück. Daher kannst du in deiner If-Abfrage schreiben:</p>
<pre><code class="language-cpp">if ( byte &amp; 0x80 ) // wenn Bit 8 nicht gesetzt ist das Ergebniss 0 =&gt; false
</code></pre>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065225</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 26 May 2006 06:17:59 GMT</pubDate></item></channel></rss>