<?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[Bitmuster von floats ausgeben]]></title><description><![CDATA[<p>Hallo ihr lieben,<br />
ich habe ein Frage bzgl. des bitweisen Auslesens bzw. Manipulierens eines floats.<br />
Es ist doch eigentlich so, dass wenn ich das Bitmuster eines floats ausgeben möchte, dann kann ich das doch so machen, dass ich über einen Pointer mit vorangestelltem Indirektions-Operator byte für byte auslesen kann und dann eben denn Inhalt eines jeden Bytes über eine entsprechende Funktion in ein Bitmuster umrechne und die dann ausgebe. Aber es gibt doch einen Shift-Operator mit dem man bitweise arbeiten kann. Ist es möglich sich da von Bit zu Bit zu hangeln und die Bits step by step auszugeben?<br />
Wäre für einen Tip sehr dankbar! Vielleicht hat jemand sowas schonmal gemacht.</p>
<p>MfG</p>
<p>DanDanR</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/299136/bitmuster-von-floats-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 12:44:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/299136.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Feb 2012 11:04:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bitmuster von floats ausgeben on Fri, 03 Feb 2012 11:04:55 GMT]]></title><description><![CDATA[<p>Hallo ihr lieben,<br />
ich habe ein Frage bzgl. des bitweisen Auslesens bzw. Manipulierens eines floats.<br />
Es ist doch eigentlich so, dass wenn ich das Bitmuster eines floats ausgeben möchte, dann kann ich das doch so machen, dass ich über einen Pointer mit vorangestelltem Indirektions-Operator byte für byte auslesen kann und dann eben denn Inhalt eines jeden Bytes über eine entsprechende Funktion in ein Bitmuster umrechne und die dann ausgebe. Aber es gibt doch einen Shift-Operator mit dem man bitweise arbeiten kann. Ist es möglich sich da von Bit zu Bit zu hangeln und die Bits step by step auszugeben?<br />
Wäre für einen Tip sehr dankbar! Vielleicht hat jemand sowas schonmal gemacht.</p>
<p>MfG</p>
<p>DanDanR</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2176357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2176357</guid><dc:creator><![CDATA[DanDanR_]]></dc:creator><pubDate>Fri, 03 Feb 2012 11:04:55 GMT</pubDate></item><item><title><![CDATA[Reply to Bitmuster von floats ausgeben on Fri, 03 Feb 2012 11:24:09 GMT]]></title><description><![CDATA[<p>Bits sind nur eine Abstraktion, der Computer arbeitet immer nur mit Bytes. Ob die elektrisch in 2-Zustands-Flipflops gespeichert sind oder von einem Affen in eine Schiefertafel gemeißelt werden ist egal, du kannst nur an den Wert des ganzen Bytes kommen. Insofern sind auch die ganzen Bitoperationen als reine Rechenoperationen auf diesen Bytes zu verstehen, nicht dass da irgendwie ein Bitpointer weitergeschoben werden würde. Um an das Bitmuster zu kommen, musst du also rechnen. Meistens beinhaltet diese Rechnung auch Bitschieberechenoperationen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2176368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2176368</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 03 Feb 2012 11:24:09 GMT</pubDate></item><item><title><![CDATA[Reply to Bitmuster von floats ausgeben on Fri, 03 Feb 2012 13:14:31 GMT]]></title><description><![CDATA[<p>C++ stellt den std::bitset&lt;&gt; zur Verfügung, da kann man sich die Bitpopelei sparen - z.B. so:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;bitset&gt;

struct Bitmuster
{
    explicit Bitmuster( float flt ) : m_x( flt ) {}
    friend std::ostream&amp; operator&lt;&lt;( std::ostream&amp; out, Bitmuster bm )
    {
        const char* p = reinterpret_cast&lt; const char* &gt;( &amp;bm.m_x ); 
        for( int i=0; i &lt; sizeof(bm.m_x); ++i, ++p )
            out &lt;&lt; std::bitset&lt;8&gt;(*p);
        return out;
    }
private:
    float m_x;
};

int main()
{
    using namespace std;
    for( float f; cout &lt;&lt; &quot;Ein float bitte: &quot;, cin &gt;&gt; f; )
        cout &lt;&lt; f &lt;&lt; &quot; := &quot; &lt;&lt; Bitmuster(f) &lt;&lt; endl;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2176419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2176419</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Fri, 03 Feb 2012 13:14:31 GMT</pubDate></item></channel></rss>