<?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[Binarausgabe Null zuviel!]]></title><description><![CDATA[<p>Hey</p>
<p>Ich habe ein Programm das eine Dezimalzahl in Binärumwandeln soll nur krieg ich am anfang eine Null zu viel wen ich alles ausgebe.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int input=0,counter=0;
int bin[99];

int main() {

    for(unsigned int i = 0; i &lt; 100; i++) {
      bin[i] = 0;
    }

    cout &lt;&lt; &quot;Eingabe : &quot;;
    cin &gt;&gt; input;
    do{
      bin[counter] = input % 2;
      input = input / 2;
      counter += 1;
    }while(input &gt; 0);

    for(int i = counter;i &gt;= 0; i--) {
      cout &lt;&lt; bin[i];
    }

    cout &lt;&lt; endl;

    return 0;

}
</code></pre>
<p>Der Code ist sehr einfach deshalb lass ich das erklären hier mal.</p>
<p>Also wen ich z.B. 12 eingebe sollte 1100 rauskommen doch ich bekommme 01100 raus hat einer eine Idee wie ich das hinbekomme.</p>
<p>Danke im vorraus !</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/304311/binarausgabe-null-zuviel</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 00:49:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/304311.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Jun 2012 15:07:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Binarausgabe Null zuviel! on Sun, 03 Jun 2012 15:07:44 GMT]]></title><description><![CDATA[<p>Hey</p>
<p>Ich habe ein Programm das eine Dezimalzahl in Binärumwandeln soll nur krieg ich am anfang eine Null zu viel wen ich alles ausgebe.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int input=0,counter=0;
int bin[99];

int main() {

    for(unsigned int i = 0; i &lt; 100; i++) {
      bin[i] = 0;
    }

    cout &lt;&lt; &quot;Eingabe : &quot;;
    cin &gt;&gt; input;
    do{
      bin[counter] = input % 2;
      input = input / 2;
      counter += 1;
    }while(input &gt; 0);

    for(int i = counter;i &gt;= 0; i--) {
      cout &lt;&lt; bin[i];
    }

    cout &lt;&lt; endl;

    return 0;

}
</code></pre>
<p>Der Code ist sehr einfach deshalb lass ich das erklären hier mal.</p>
<p>Also wen ich z.B. 12 eingebe sollte 1100 rauskommen doch ich bekommme 01100 raus hat einer eine Idee wie ich das hinbekomme.</p>
<p>Danke im vorraus !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2218881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2218881</guid><dc:creator><![CDATA[Chrome]]></dc:creator><pubDate>Sun, 03 Jun 2012 15:07:44 GMT</pubDate></item><item><title><![CDATA[Reply to Binarausgabe Null zuviel! on Sun, 03 Jun 2012 15:27:34 GMT]]></title><description><![CDATA[<p>In der Schleife</p>
<pre><code class="language-cpp">do{
      bin[counter] = input % 2;
      input = input / 2;
      counter += 1;
    }while(input &gt; 0);
</code></pre>
<p>wird überprüft, ob input &gt;0 ist.<br />
Was meinst du, was passiert, wenn input 1 ist und durch 2 dividiert wird?<br />
Ja genau, dann hast du 0. Die zählst du im counter mit, was nicht gewünscht ist.<br />
Darum:</p>
<pre><code class="language-cpp">do{
      bin[counter] = input % 2;
      input = input / 2;
      if(input&gt;0)              //Abfrage, ob 0 ist
          counter += 1;        //counter++ ist besser             
    }while(input &gt; 0);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2218884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2218884</guid><dc:creator><![CDATA[Syntax_error]]></dc:creator><pubDate>Sun, 03 Jun 2012 15:27:34 GMT</pubDate></item><item><title><![CDATA[Reply to Binarausgabe Null zuviel! on Sun, 03 Jun 2012 16:08:17 GMT]]></title><description><![CDATA[<p>Also für mich sieht es so aus, als sei der Fehler bei der Ausgabe</p>
<p>Chrome schrieb:</p>
<blockquote>
<pre><code class="language-cpp">for(int i = counter;i &gt;= 0; i--) {
      cout &lt;&lt; bin[i];
    }
    cout &lt;&lt; endl;
</code></pre>
</blockquote>
<p>müsste eigentlich</p>
<pre><code class="language-cpp">for(int i = counter; i&gt;0;) {
      --i;
      cout &lt;&lt; bin[i];
    }
    cout &lt;&lt; endl;
</code></pre>
<p>heißen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2218896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2218896</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Sun, 03 Jun 2012 16:08:17 GMT</pubDate></item><item><title><![CDATA[Reply to Binarausgabe Null zuviel! on Sun, 03 Jun 2012 17:04:23 GMT]]></title><description><![CDATA[<p>Chrome schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int bin[99];

...
  
    for(unsigned int i = 0; i &lt; 100; i++) {
      bin[i] = 0;
    }
  
...
}
</code></pre>
</blockquote>
<p>Achtung: Range-overflow. &quot;i&quot; läuft bis 99 und bin[99] ist außerhalb des Arrays.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2218913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2218913</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Sun, 03 Jun 2012 17:04:23 GMT</pubDate></item></channel></rss>