<?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 Order]]></title><description><![CDATA[<p>Moin,</p>
<p>mal eine etwas Hardware-nähere Frage. Kontext ist, dass ich bestimmte Bits aus einem Byte(unsigned char) auslesen will. Meinetwegen will ich wissen, ob die Bits 7, 3, 1 und 0 gesetzt sind:</p>
<pre><code>#define IS_BIT_SET(byte,bit_index) ((byte &amp; ( 1 &lt;&lt; bit_index)) != 0)

unsigned char x = 'H'; // 01001000, Reihenfolge: 7 bis 0
IS_BIT_SET(x, 7); // false
IS_BIT_SET(x, 3); // true
IS_BIT_SET(x, 1); // false
IS_BIT_SET(x, 0); // false
</code></pre>
<p>Frage: Ist das auf allen Computern gleich? Dass das bei der Byte Order nicht so ist, ist klar. Aber wie siehts mit der Reihenfolge der Bits aus? Könnte ich das Programm kompilieren und dann (ohne Neukompilierung) auf verschiedenen Rechnern mit gleichem Resultat ausführen?</p>
<p>MfG. Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/314831/bit-order</link><generator>RSS for Node</generator><lastBuildDate>Fri, 31 Jul 2026 17:41:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/314831.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 Mar 2013 12:55:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bit Order on Fri, 15 Mar 2013 12:55:39 GMT]]></title><description><![CDATA[<p>Moin,</p>
<p>mal eine etwas Hardware-nähere Frage. Kontext ist, dass ich bestimmte Bits aus einem Byte(unsigned char) auslesen will. Meinetwegen will ich wissen, ob die Bits 7, 3, 1 und 0 gesetzt sind:</p>
<pre><code>#define IS_BIT_SET(byte,bit_index) ((byte &amp; ( 1 &lt;&lt; bit_index)) != 0)

unsigned char x = 'H'; // 01001000, Reihenfolge: 7 bis 0
IS_BIT_SET(x, 7); // false
IS_BIT_SET(x, 3); // true
IS_BIT_SET(x, 1); // false
IS_BIT_SET(x, 0); // false
</code></pre>
<p>Frage: Ist das auf allen Computern gleich? Dass das bei der Byte Order nicht so ist, ist klar. Aber wie siehts mit der Reihenfolge der Bits aus? Könnte ich das Programm kompilieren und dann (ohne Neukompilierung) auf verschiedenen Rechnern mit gleichem Resultat ausführen?</p>
<p>MfG. Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2306908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306908</guid><dc:creator><![CDATA[ChrisLu]]></dc:creator><pubDate>Fri, 15 Mar 2013 12:55:39 GMT</pubDate></item><item><title><![CDATA[Reply to Bit Order on Fri, 15 Mar 2013 13:00:57 GMT]]></title><description><![CDATA[<p>Die bit-Operatoren (&lt;&lt;, &gt;&gt;, &amp;, |, ^ - hab ich welche vergessen?) funktionieren (zumindest für unsigned) auf allen Architekturen so, wie Du es erwartest. Das ist unabhängig davon, in welcher Reihenfolge die Bits auf der Platine angeordnet sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2306910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306910</guid><dc:creator><![CDATA[SG1]]></dc:creator><pubDate>Fri, 15 Mar 2013 13:00:57 GMT</pubDate></item><item><title><![CDATA[Reply to Bit Order on Fri, 15 Mar 2013 13:02:44 GMT]]></title><description><![CDATA[<p>CHAR_BIT ist mindestens acht, also sollte dein Code definiert sein.<br />
Es ist allerdings nicht garantiert, dass 'H' gleich 01001000<sub>(2)</sub></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/937">@SG1</a>: Du hast &quot;~&quot; vergessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2306911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306911</guid><dc:creator><![CDATA[UBs]]></dc:creator><pubDate>Fri, 15 Mar 2013 13:02:44 GMT</pubDate></item><item><title><![CDATA[Reply to Bit Order on Fri, 15 Mar 2013 13:06:49 GMT]]></title><description><![CDATA[<p>Zielt deine Frage auf Endianess ab?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2306913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306913</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Fri, 15 Mar 2013 13:06:49 GMT</pubDate></item></channel></rss>