<?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[binärausgabe einer Variable&#x2F;Klasse]]></title><description><![CDATA[<p>Irgendwie brech ich mir da grad einen ab ein template zu schreiben das einen binären String aus einer class T erstellt =[</p>
<p>Könnte mir freundlicherweise jemand verraten warum der mist ausgibt?<br />
Mir fällt irgendwie keine Stelle auf wo mir ein Fehler passiert sein könnte, oder geht das union so nicht?</p>
<p>greetz<br />
dreaddy</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;

using std::cout;

template &lt;class T&gt;
class binclass
{
    private:

    struct bit
    {
        unsigned int bit00 :1;

        std::string tostring()
        {
          std::string retval = &quot;&quot;;
          if(bit00)retval=&quot;1&quot;;else retval=&quot;0&quot;;
          return retval;
        }

    };

    union floatval
    {
      bit bits[sizeof(T)*8];
      T val;
    };

    floatval value;

    public:
    binclass(T val){value.val = val;}

    std::string get_string(void)
    {
      std::string retval = &quot;&quot;;

      for(int i = 0; i &lt; sizeof(T)*8; i++)
      {
        retval +=
        value.bits[i].tostring();
      }

      return retval;
    }
};

int main()
{

  char dst = 42;
  binclass&lt;char&gt; fldsp(dst);
  cout &lt;&lt; fldsp.get_string();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/132423/binärausgabe-einer-variable-klasse</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 12:17:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/132423.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Jan 2006 19:53:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to binärausgabe einer Variable&#x2F;Klasse on Tue, 10 Jan 2006 19:56:49 GMT]]></title><description><![CDATA[<p>Irgendwie brech ich mir da grad einen ab ein template zu schreiben das einen binären String aus einer class T erstellt =[</p>
<p>Könnte mir freundlicherweise jemand verraten warum der mist ausgibt?<br />
Mir fällt irgendwie keine Stelle auf wo mir ein Fehler passiert sein könnte, oder geht das union so nicht?</p>
<p>greetz<br />
dreaddy</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;

using std::cout;

template &lt;class T&gt;
class binclass
{
    private:

    struct bit
    {
        unsigned int bit00 :1;

        std::string tostring()
        {
          std::string retval = &quot;&quot;;
          if(bit00)retval=&quot;1&quot;;else retval=&quot;0&quot;;
          return retval;
        }

    };

    union floatval
    {
      bit bits[sizeof(T)*8];
      T val;
    };

    floatval value;

    public:
    binclass(T val){value.val = val;}

    std::string get_string(void)
    {
      std::string retval = &quot;&quot;;

      for(int i = 0; i &lt; sizeof(T)*8; i++)
      {
        retval +=
        value.bits[i].tostring();
      }

      return retval;
    }
};

int main()
{

  char dst = 42;
  binclass&lt;char&gt; fldsp(dst);
  cout &lt;&lt; fldsp.get_string();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/963041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963041</guid><dc:creator><![CDATA[dreaddy]]></dc:creator><pubDate>Tue, 10 Jan 2006 19:56:49 GMT</pubDate></item><item><title><![CDATA[Reply to binärausgabe einer Variable&#x2F;Klasse on Wed, 11 Jan 2006 11:01:33 GMT]]></title><description><![CDATA[<p>dreaddy schrieb:</p>
<blockquote>
<pre><code class="language-cpp">struct bit
    {
        unsigned int bit00 :1;

        std::string tostring()
        {
          std::string retval = &quot;&quot;;
          if(bit00)retval=&quot;1&quot;;else retval=&quot;0&quot;;
          return retval;
        }

    };

    union floatval
    {
      bit bits[sizeof(T)*8];
      T val;
    };
</code></pre>
</blockquote>
<p>Du scheinst davon auszugehen, dass struct bit 1 Bit groß ist. Ist es aber nicht, die Mindestgröße für ein Objekt ist 1 Byte. Bitfelder wie int bit:1; sind ein Spezialfall und auch keine Objekte im eigentlichen Sinne, sie haben z.B. keine Adresse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/963393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963393</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 11 Jan 2006 11:01:33 GMT</pubDate></item></channel></rss>