<?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[float bitweise auslesen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe sowas</p>
<pre><code class="language-cpp">float rawTimeStmp = 12.3456;
bool datastream[100];

// nun muss ich 'rawTimeStmp' an stelle 10 und fortlaufend
// also 10+32 = 42 schreiben.
//

for (int i=31, int k=10; i&gt;-1; i--, k++)
{
     if ((rawTimeStmp)&amp;(1&lt;&lt;j)) datastream[k] = true; 
}
</code></pre>
<p>Aber Bitoperationen sind nicht definiert für Gleitkommazahlen oder?<br />
Was kann ich machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/239437/float-bitweise-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 06:25:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/239437.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Apr 2009 12:53:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to float bitweise auslesen on Thu, 23 Apr 2009 12:53:36 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe sowas</p>
<pre><code class="language-cpp">float rawTimeStmp = 12.3456;
bool datastream[100];

// nun muss ich 'rawTimeStmp' an stelle 10 und fortlaufend
// also 10+32 = 42 schreiben.
//

for (int i=31, int k=10; i&gt;-1; i--, k++)
{
     if ((rawTimeStmp)&amp;(1&lt;&lt;j)) datastream[k] = true; 
}
</code></pre>
<p>Aber Bitoperationen sind nicht definiert für Gleitkommazahlen oder?<br />
Was kann ich machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1700184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1700184</guid><dc:creator><![CDATA[traceman]]></dc:creator><pubDate>Thu, 23 Apr 2009 12:53:36 GMT</pubDate></item><item><title><![CDATA[Reply to float bitweise auslesen on Thu, 23 Apr 2009 13:05:41 GMT]]></title><description><![CDATA[<p>Die Bitoperatoren sind nicht ganz so einfach. Also ich würde folgendes machen. Ich würde ein reinterpret_cast auf ein unsigned int/DWORD machen und dann über ein enum arbeiten.</p>
<p>Dh im Enum den Gegenwert als Unsigned für jede Stelle speichern und dann mit Bitoperatoren (and, or, xor) die stellen verändern. und das ding am ende wieder in ein float zurück Reinterpretieren, das sollte eigentlich gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1700193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1700193</guid><dc:creator><![CDATA[Xebov]]></dc:creator><pubDate>Thu, 23 Apr 2009 13:05:41 GMT</pubDate></item><item><title><![CDATA[Reply to float bitweise auslesen on Thu, 23 Apr 2009 14:13:23 GMT]]></title><description><![CDATA[<p>Danke schonmal, ich hab nur folgendes im Kopf:</p>
<p>Es gibt ja eine möglichkeit z.B. aus einem &quot;Datenstrom&quot; ein Doublewert rauszuholen<br />
z.B.</p>
<pre><code class="language-cpp">float wert = *(float*)&amp;datastrom[20];
</code></pre>
<p>damit schreibt ja er alles ab index 20 bis 20+32 von datastrom[] in den float wert raus..gibt es jetzt anders herum vielleicht eine Möglichkeit eine float auf einen datenstrom rauszuschreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1700230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1700230</guid><dc:creator><![CDATA[traceman]]></dc:creator><pubDate>Thu, 23 Apr 2009 14:13:23 GMT</pubDate></item><item><title><![CDATA[Reply to float bitweise auslesen on Thu, 23 Apr 2009 14:20:55 GMT]]></title><description><![CDATA[<p>Soweit ich das mal gelesen habe (weiß nicht ob es 100%ig stimmt) war das man nicht was kleienr als 1Byte ist bekommt, somit fällt das Bitweise auslesen Flach, außer eben über diesen trick mit dem Enum, das wird übrigends ua von DX für Flags benutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1700232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1700232</guid><dc:creator><![CDATA[Xebov]]></dc:creator><pubDate>Thu, 23 Apr 2009 14:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to float bitweise auslesen on Wed, 29 Apr 2009 15:27:20 GMT]]></title><description><![CDATA[<p>Ich wollt nur noch mal sagen das es tatsächlich funktioniert wenn ich</p>
<pre><code class="language-cpp">unsigned char datastrom[40];
float wert=12.3456789;
//und dann einfach umgekehrt
*(float*)&amp;datastrom[20] = wert;
// damit ist an stelle datastrom[20] bis datastrom[23] die float zahl abgespeichert
// Nun kann auf datastrom zugegriffen werden z.B.
if ((datastrom[20]&amp;(1&lt;&lt;5)) printf(&quot;an stelle 5 in datastrom[20] ist ein bit gesetzt&quot;);
</code></pre>
<p>Ich sage ausdrücklich &quot;es funktioniert&quot; aber nicht &quot;es ist eine Standardlösung&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703230</guid><dc:creator><![CDATA[traceman]]></dc:creator><pubDate>Wed, 29 Apr 2009 15:27:20 GMT</pubDate></item></channel></rss>