<?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[Verständnisproblem Binärzahlumrechnung]]></title><description><![CDATA[<p>Hallo!</p>
<p>Folgendes Problem in c++:<br />
Ich habe ein Programm zur Umrechnung von einer ganzen Zahl in eine Binärzahl, nun versteh ich aber nicht genau was die einzelnen Schritte <strong>innerhalb der while-schleife</strong> sind, also was nach und nach &quot;dort!&quot; gemacht wird...<br />
Vielleicht kann mir da ja mal jemand helfen und das ganze verständlich erklären?</p>
<p>--&gt;<br />
void main(){<br />
int a;<br />
int i = 0;<br />
int int_bit_size = sizeof(int) * 8;</p>
<p>cout&lt;&lt;&quot;Geben sie eine ganze Zahl ein: &quot;&lt;&lt;endl;<br />
cin&gt;&gt;a;</p>
<p>while(i &lt; int_bit_size){<br />
cout&lt;&lt;(&quot;%d&quot;,(a &amp; 0x80000000) &gt;&gt; 31);<br />
a &lt;&lt;= 1;<br />
i++;<br />
}<br />
cout&lt;&lt;(&quot;\n&quot;);<br />
}</p>
<p>Ich weiß, ist nicht wirklich anspruchsvoll, bin aber noch in den Anfängen der Marterie und freu mich auf die Glühbirne überm Schädel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Gruß<br />
Rick</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/166264/verständnisproblem-binärzahlumrechnung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 07:34:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166264.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 27 Nov 2006 15:57:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnisproblem Binärzahlumrechnung on Mon, 27 Nov 2006 15:58:57 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Folgendes Problem in c++:<br />
Ich habe ein Programm zur Umrechnung von einer ganzen Zahl in eine Binärzahl, nun versteh ich aber nicht genau was die einzelnen Schritte <strong>innerhalb der while-schleife</strong> sind, also was nach und nach &quot;dort!&quot; gemacht wird...<br />
Vielleicht kann mir da ja mal jemand helfen und das ganze verständlich erklären?</p>
<p>--&gt;<br />
void main(){<br />
int a;<br />
int i = 0;<br />
int int_bit_size = sizeof(int) * 8;</p>
<p>cout&lt;&lt;&quot;Geben sie eine ganze Zahl ein: &quot;&lt;&lt;endl;<br />
cin&gt;&gt;a;</p>
<p>while(i &lt; int_bit_size){<br />
cout&lt;&lt;(&quot;%d&quot;,(a &amp; 0x80000000) &gt;&gt; 31);<br />
a &lt;&lt;= 1;<br />
i++;<br />
}<br />
cout&lt;&lt;(&quot;\n&quot;);<br />
}</p>
<p>Ich weiß, ist nicht wirklich anspruchsvoll, bin aber noch in den Anfängen der Marterie und freu mich auf die Glühbirne überm Schädel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Gruß<br />
Rick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1182489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1182489</guid><dc:creator><![CDATA[derRick]]></dc:creator><pubDate>Mon, 27 Nov 2006 15:58:57 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Binärzahlumrechnung on Mon, 27 Nov 2006 16:30:38 GMT]]></title><description><![CDATA[<p>Der Code ist nen bisschen komisch und auch nicht wirklich portabel, aber seis drum:</p>
<pre><code class="language-cpp">while(i &lt; int_bit_size)
{ 
    cout&lt;&lt;(&quot;%d&quot;,(a &amp; 0x80000000) &gt;&gt; 31); 
    a &lt;&lt;= 1; 
    i++; 
}
</code></pre>
<p>Das &quot;%d&quot; könnte man auch einfach weglassen, das hat keinen Effekt, keine Ahnung, wieso es da steht...</p>
<p>mit</p>
<pre><code class="language-cpp">(a &amp; 0x80000000)
</code></pre>
<p>erhält man entweder 2^31 oder 0 als Lösung, je nachdem, ob das oberste Bit des Ints gesetzt war (funktioniert aber nur auf 32-Bit Systemen) 0x80000000 ist nämlich 2^31 = 2147483648.</p>
<p>Man hat also entweder</p>
<p>10000000000000000000000000000000</p>
<p>oder</p>
<p>00000000000000000000000000000000</p>
<p>jenachdem, ob das oberste Bit gesetzt war.</p>
<p>Das &amp; ist ein binäres Und. Durch das Verschieben um 31 nach links erhält man dann eine 1 oder eine 0, die dann auch ausgegeben wird.</p>
<p>In der zweiten Zeile</p>
<pre><code class="language-cpp">a &lt;&lt;= 1;
</code></pre>
<p>wird das gesamte Bitmuster in a eins nach links verschoben, d.h. alle Bits werden um eins verschoben. Beispiel</p>
<p>00100001 -&gt; 01000010</p>
<p>In Wirklichkeit sind es natürlich mehr als nur 8 Bits.</p>
<p>Ich hoffe, ich konnte helfen</p>
<p>Felix</p>
<p>P.S.: int main() und nicht void main()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1182504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1182504</guid><dc:creator><![CDATA[Phoemuex]]></dc:creator><pubDate>Mon, 27 Nov 2006 16:30:38 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Binärzahlumrechnung on Mon, 27 Nov 2006 16:43:15 GMT]]></title><description><![CDATA[<p>[cpp]<br />
int main()<br />
{<br />
int a;<br />
int i = 0;<br />
int int_bit_size = sizeof(int) * 8;</p>
<p>cout&lt;&lt;&quot;Geben sie eine ganze Zahl ein: &quot;&lt;&lt;endl;<br />
cin&gt;&gt;a;</p>
<p>while(i &lt; int_bit_size)<br />
{<br />
cout&lt;&lt;((a &amp; 0x80000000) &gt;&gt; 31); // 0x80000000 = 10000000000000000000000000000000 binär<br />
//Das höchste Bit ist gesetzt und wird jeweils mit dem höchsten Bit von a UND verknüpt.<br />
//Das Ergebnis ist 1, wenn das Bit in a auch 1 ist, andernfalls 0<br />
- //Damit auch 1 bzw. 0 ausgegeben werden kann, wird dieses Bit zum Schluss 31 Stellen nach rechts geschoben.<br />
a &lt;&lt;= 1; // Die Bits in a werden in 1-er Schritten 31 mal nach links geschoben.<br />
i++;<br />
}<br />
cout&lt;&lt;(&quot;\n&quot;);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1182516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1182516</guid><dc:creator><![CDATA[schieber]]></dc:creator><pubDate>Mon, 27 Nov 2006 16:43:15 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Binärzahlumrechnung on Mon, 27 Nov 2006 16:44:24 GMT]]></title><description><![CDATA[<p>derRick schrieb:</p>
<blockquote>
<p>Ich habe ein Programm zur Umrechnung von einer ganzen Zahl in eine Binärzahl</p>
</blockquote>
<p>... <strong>hier</strong> ist bereits Dein Verständnisproblem! Was ist denn der Unterschied zwischen einer ganzen Zahl und einer Binärzahl?</p>
<p>Was Du willst, ist nicht eine Umrechnung sondern eine <em>Darstellung</em>. Die Zahl bleibt dieselbe, alles was sich ändert, wenn Du eine Zahl binär, dezimal, oktal ... hast, ist deren Darstellungsart, nämlich die Anzahl verschiedener Ziffern, die eine Stelle der Zahl einnehmen kann, also die Basis der Zahl.</p>
<p>Intern im Computer sind Zahlen als Binärzahlen dargestellt. Dein Problem ist lediglich, wie Du auf die einzelnen Bits einer Zahl zugreifst bzw. diese darstellst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1182518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1182518</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Mon, 27 Nov 2006 16:44:24 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Binärzahlumrechnung on Mon, 27 Nov 2006 17:29:26 GMT]]></title><description><![CDATA[<p>Das ist extrem kompliziert gelöst.</p>
<p>Eine Variante für alle integralen Typen:</p>
<pre><code class="language-cpp">template&lt; typename integralType &gt;
std::string toBinary( integralType num )
{
	std::stringstream bin;
	for( size_t it = 1 &lt;&lt; std::numeric_limits&lt; integralType &gt;::digits; it &gt; 0; it &gt;&gt;= 1 )
		bin &lt;&lt; bool( num &amp; it );
	return bin.str();
}

int main()
{
   std::cout &lt;&lt; toBinary&lt; char &gt;( 16 );
}
</code></pre>
<p>Disclaimer: bin mir nicht hunderprozentig sicher ob std::numeric_limits::digits immer die Anzahl an Bits für einen integralen Typ liefert, falls nicht einfach das Define CHAR_BIT * sizeof( integralType ) dafür verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1182548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1182548</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Mon, 27 Nov 2006 17:29:26 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Binärzahlumrechnung on Mon, 27 Nov 2006 18:06:03 GMT]]></title><description><![CDATA[<p>in dem board hier fehlt eindeutig ein faq-artikel: 1001 tricks wie man eine binärzahl bastelt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1182574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1182574</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Mon, 27 Nov 2006 18:06:03 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Binärzahlumrechnung on Mon, 27 Nov 2006 19:05:28 GMT]]></title><description><![CDATA[<p>net schrieb:</p>
<blockquote>
<p>in dem board hier fehlt eindeutig ein faq-artikel: 1001 tricks wie man eine binärzahl bastelt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Was stimmt mit dem vorhandenen FAQ-Artikel nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1182634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1182634</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Mon, 27 Nov 2006 19:05:28 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Binärzahlumrechnung on Mon, 27 Nov 2006 19:11:11 GMT]]></title><description><![CDATA[<p>HumeSikkins schrieb:</p>
<blockquote>
<p>net schrieb:</p>
<blockquote>
<p>in dem board hier fehlt eindeutig ein faq-artikel: 1001 tricks wie man eine binärzahl bastelt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Was stimmt mit dem vorhandenen FAQ-Artikel nicht?</p>
</blockquote>
<p>oh, habt ihr schon einen?<br />
hätt' ich nicht gedacht, weil diese frage so unglaublich oft kommt.<br />
sorry, ich hab' da lange nicht reingeschaut...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1182637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1182637</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Mon, 27 Nov 2006 19:11:11 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Binärzahlumrechnung on Mon, 27 Nov 2006 19:12:35 GMT]]></title><description><![CDATA[<p>net schrieb:</p>
<blockquote>
<p>HumeSikkins schrieb:</p>
<blockquote>
<p>net schrieb:</p>
<blockquote>
<p>in dem board hier fehlt eindeutig ein faq-artikel: 1001 tricks wie man eine binärzahl bastelt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Was stimmt mit dem vorhandenen FAQ-Artikel nicht?</p>
</blockquote>
<p>oh, habt ihr schon einen?<br />
sorry, ich hab' da lange nicht reingeschaut...</p>
</blockquote>
<p>Marc++us hat vor kurzem (September 2001 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> ) mal was geschrieben:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39490.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39490.html</a></p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1182644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1182644</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Mon, 27 Nov 2006 19:12:35 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Binärzahlumrechnung on Mon, 27 Nov 2006 19:21:30 GMT]]></title><description><![CDATA[<p>Danke Phoemuex und schieber <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /><br />
Es ist nun eindeutig klarer geworden! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>An den Rest, ich weiß was eine Binärzahl ist und auch wie man eine ganze Zahl zu einer Binärzahl umrechnet, es ging allein um dieses Programm, bzw. spezifisch um das ganze innerhalb der while-schleife <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Aber das steht da ja auch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Man kann es mit sicherheit auch einfacher lösen, dies war aber eine Aufgabe und die sollte man mit bestimmten Mitteln lösen.</p>
<p>Danke und Gruß.<br />
Rick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1182649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1182649</guid><dc:creator><![CDATA[derRick]]></dc:creator><pubDate>Mon, 27 Nov 2006 19:21:30 GMT</pubDate></item></channel></rss>