<?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[BYTE als Binär Wert behandeln und bestimet Bits entnehmen??]]></title><description><![CDATA[<p>Hallo ihr,<br />
habe folgendes:</p>
<p>typedef unsigned char BYTE;</p>
<p>BYTE scr= 0; // irgend ein WErt zwischen 0 und 63<br />
BYTE a,b,c,d;</p>
<p>gesehnen Binär:<br />
00000000<br />
splitten in 2er reihen:<br />
00 00 00 00</p>
<p>extrahieren in 4 Komponenten:</p>
<p>a= 00;<br />
b= 00;<br />
c= 00;<br />
d= 00;</p>
<p>ergebnis sollte dann sein das alles vier werte a-d 0 ausgeben!</p>
<p>Wie geht das??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/160750/byte-als-binär-wert-behandeln-und-bestimet-bits-entnehmen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 09:34:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/160750.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 29 Sep 2006 04:49:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to BYTE als Binär Wert behandeln und bestimet Bits entnehmen?? on Fri, 29 Sep 2006 04:49:39 GMT]]></title><description><![CDATA[<p>Hallo ihr,<br />
habe folgendes:</p>
<p>typedef unsigned char BYTE;</p>
<p>BYTE scr= 0; // irgend ein WErt zwischen 0 und 63<br />
BYTE a,b,c,d;</p>
<p>gesehnen Binär:<br />
00000000<br />
splitten in 2er reihen:<br />
00 00 00 00</p>
<p>extrahieren in 4 Komponenten:</p>
<p>a= 00;<br />
b= 00;<br />
c= 00;<br />
d= 00;</p>
<p>ergebnis sollte dann sein das alles vier werte a-d 0 ausgeben!</p>
<p>Wie geht das??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1146257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1146257</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 29 Sep 2006 04:49:39 GMT</pubDate></item><item><title><![CDATA[Reply to BYTE als Binär Wert behandeln und bestimet Bits entnehmen?? on Fri, 29 Sep 2006 05:34:39 GMT]]></title><description><![CDATA[<p>mmh. Teste doch einfach, ob die Bits gesetzt sind, und schreibe demnach deinen Array voll. Müsste z.B. so gehen (NICHT GETESTET!)</p>
<pre><code class="language-cpp">unsigned char c=...;
char ac[9];
for(int i=0;i&lt;8;i++)
{
  if(c &amp; (1&lt;&lt;i))
  {
    ac[7-i]='1';
  }
  else
  {
    ac[7-i]='0';
  }
}
ac[8]='\0';
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1146270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1146270</guid><dc:creator><![CDATA[Schildkroete]]></dc:creator><pubDate>Fri, 29 Sep 2006 05:34:39 GMT</pubDate></item><item><title><![CDATA[Reply to BYTE als Binär Wert behandeln und bestimet Bits entnehmen?? on Fri, 29 Sep 2006 05:44:11 GMT]]></title><description><![CDATA[<p>Danke für deine Tip!! habs nun so gemacht.. so blöd bin ich gar net:)</p>
<pre><code class="language-cpp">short bin= (short)iNr;

	// buf
	BYTE R=0;
	BYTE G=0;
	BYTE B=0;

	// filter
	BYTE RF=0x30;	// 00110000
	BYTE GF=0x0C;	// 00001100
	BYTE BF=0x03;	// 00000011

	// Splitten
	R= (bin &amp; RF);	// 5 u 6 Bit extrahiren und 4 nach rechts veschieben
	R=R&gt;&gt;4;
	G= (bin &amp; GF);	// 3 u 4 Bit extrahiren und 4 nach rechts veschieben
	G=G&gt;&gt;2;
	B= (bin &amp; BF);	// 1 u 2 Bit extrahiren und 4 nach rechts veschieben

	//  8Bit wert herstellen (erst verschieben dann verUNDen)
	R= R&lt;&lt;6;
	G= G&lt;&lt;6;
	B= B&lt;&lt;6;
	R=R | 0x3F;		// mit 00111111 verUNDen
	G=G | 0x3F;		// mit 00111111 verUNDen
	B=B | 0x3F;		// mit 00111111 verUNDen
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1146275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1146275</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 29 Sep 2006 05:44:11 GMT</pubDate></item><item><title><![CDATA[Reply to BYTE als Binär Wert behandeln und bestimet Bits entnehmen?? on Fri, 29 Sep 2006 07:23:14 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<pre><code class="language-cpp">//  8Bit wert herstellen (erst verschieben dann verUNDen)
	R= R&lt;&lt;6;
	G= G&lt;&lt;6;
	B= B&lt;&lt;6;
	R=R | 0x3F;		// mit 00111111 verUNDen
	G=G | 0x3F;		// mit 00111111 verUNDen
	B=B | 0x3F;		// mit 00111111 verUNDen
</code></pre>
</blockquote>
<p>Bist du sicher, dass du das willst (mal davon abgesehen, dass | ein <strong>oder</strong> ist)?<br />
Wenn eine deiner 2-Bit Werte zum Beispiel 11 ist (dez -&gt; 4) und du schiebst das 6 mal nach links steht dann 192 drin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1146322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1146322</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Fri, 29 Sep 2006 07:23:14 GMT</pubDate></item></channel></rss>