<?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[binarynumber]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe ein Problem, und zwar funktioniert mein code nicht, und ich weiß nicht wieso...<br />
Also ich wollte ein Programm schreiben das ganz einfach eine Dezimalzahl zur Basis 2 umrechnet.</p>
<p>Das ergebnis sollte dann so ausgegeben werden:<br />
&quot;Ergebnis+zahl<em>10^(Anzahl der Durchläufe)&quot;,<br />
damit das z.b. so aussieht:<br />
&quot;1*10^0 + 0*10^1 + 1</em>10^2 + ... = ...101&quot;</p>
<p>Die Umrechnungsformel ist am beispiel 13:</p>
<pre><code>Die Zahl 13 wird folgendermaßen in das Dualsystem umgerechnet:
1. 13%2 ergibt 1, die 1 ist die letzte Ziffer der Dualzahl
2. 13/2 ergibt 6, damit rechne nun weiter
3. 6%2 ergibt 0, die 0 ist die vorletzte Ziffer der Dualzahl
4. 6/2 ergibt 3, damit rechne nun weiter
5. 3%2 ergibt 1, die 1 ist die drittletzte Ziffer der Dualzahl
6. 3/2 ergibt 1, damit rechne nun weiter
7. 1%2 ergibt 1, die 1 ist die viertletzte Ziffer der Dualzahl
8. 1/2 ergibt 0,Abbruch, da Ergebnis 0 ist

Die Dualzahl lautet: 1101 und entspricht 1*(2 hoch 3) + 1*(2 hoch 2) +0*(2 hoch 1) + 1*(2 hoch 0) ergibt also 13.
</code></pre>
<p>Ach ich denke ihr versteht besser was ich meine wenn ihr den Code seht:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

int main()							
{
  int a,Basis=2,Ergebnis=0,Rest,Durchlauf=0;
  cout&lt;&lt;&quot;Zahl: &quot;;
  cin&gt;&gt;a;
  while(a!=0)
  {
														// Beispiel: für a=13, Basis=2

	Rest=a%Basis;								// 13%2=1 // 6%2=0 // 3%2=1 // 1%2=1
	a=a/Basis;									// 13/2=6 // 6/2=3 // 3/2=1 // 1/2=0
	Ergebnis=Ergebnis+(Rest*(10^Durchlauf));	// 0+(1*1)=1 // 1+(0*10)=1 // 1+(1*100)=101 // 101+(1*1000)=1101

  }
  cout&lt;&lt;&quot;Ergebnis: &quot;&lt;&lt;Ergebnis;
  cin.get();   
  cin.get();
  return 0;
}
</code></pre>
<p>Aber der macht das iwie nicht...<br />
und ich weiss nich wieso...<br />
(das der zwischendurch aufhören wird, weil a im zwischenschritt 0 wird, ist mir klar, bin schon am überlegen, wie ich den durchlaufen lassen kann, mir ist aber leider bisher noch nix schlaues eingefallen^^)</p>
<p>Ich hoffe ihr wisst was ich meine und könnt mir helfen.<br />
Wenn was unklar ist einfach fragen. <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>MFG, Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/296510/binarynumber</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 21:43:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296510.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Dec 2011 09:28:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to binarynumber on Tue, 06 Dec 2011 09:28:51 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe ein Problem, und zwar funktioniert mein code nicht, und ich weiß nicht wieso...<br />
Also ich wollte ein Programm schreiben das ganz einfach eine Dezimalzahl zur Basis 2 umrechnet.</p>
<p>Das ergebnis sollte dann so ausgegeben werden:<br />
&quot;Ergebnis+zahl<em>10^(Anzahl der Durchläufe)&quot;,<br />
damit das z.b. so aussieht:<br />
&quot;1*10^0 + 0*10^1 + 1</em>10^2 + ... = ...101&quot;</p>
<p>Die Umrechnungsformel ist am beispiel 13:</p>
<pre><code>Die Zahl 13 wird folgendermaßen in das Dualsystem umgerechnet:
1. 13%2 ergibt 1, die 1 ist die letzte Ziffer der Dualzahl
2. 13/2 ergibt 6, damit rechne nun weiter
3. 6%2 ergibt 0, die 0 ist die vorletzte Ziffer der Dualzahl
4. 6/2 ergibt 3, damit rechne nun weiter
5. 3%2 ergibt 1, die 1 ist die drittletzte Ziffer der Dualzahl
6. 3/2 ergibt 1, damit rechne nun weiter
7. 1%2 ergibt 1, die 1 ist die viertletzte Ziffer der Dualzahl
8. 1/2 ergibt 0,Abbruch, da Ergebnis 0 ist

Die Dualzahl lautet: 1101 und entspricht 1*(2 hoch 3) + 1*(2 hoch 2) +0*(2 hoch 1) + 1*(2 hoch 0) ergibt also 13.
</code></pre>
<p>Ach ich denke ihr versteht besser was ich meine wenn ihr den Code seht:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

int main()							
{
  int a,Basis=2,Ergebnis=0,Rest,Durchlauf=0;
  cout&lt;&lt;&quot;Zahl: &quot;;
  cin&gt;&gt;a;
  while(a!=0)
  {
														// Beispiel: für a=13, Basis=2

	Rest=a%Basis;								// 13%2=1 // 6%2=0 // 3%2=1 // 1%2=1
	a=a/Basis;									// 13/2=6 // 6/2=3 // 3/2=1 // 1/2=0
	Ergebnis=Ergebnis+(Rest*(10^Durchlauf));	// 0+(1*1)=1 // 1+(0*10)=1 // 1+(1*100)=101 // 101+(1*1000)=1101

  }
  cout&lt;&lt;&quot;Ergebnis: &quot;&lt;&lt;Ergebnis;
  cin.get();   
  cin.get();
  return 0;
}
</code></pre>
<p>Aber der macht das iwie nicht...<br />
und ich weiss nich wieso...<br />
(das der zwischendurch aufhören wird, weil a im zwischenschritt 0 wird, ist mir klar, bin schon am überlegen, wie ich den durchlaufen lassen kann, mir ist aber leider bisher noch nix schlaues eingefallen^^)</p>
<p>Ich hoffe ihr wisst was ich meine und könnt mir helfen.<br />
Wenn was unklar ist einfach fragen. <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>MFG, Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153727</guid><dc:creator><![CDATA[danielzaiser]]></dc:creator><pubDate>Tue, 06 Dec 2011 09:28:51 GMT</pubDate></item><item><title><![CDATA[Reply to binarynumber on Tue, 06 Dec 2011 09:32:09 GMT]]></title><description><![CDATA[<p>^ ist kein Potenz-Operator sondern ein xor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153730</guid><dc:creator><![CDATA[314159265358979__]]></dc:creator><pubDate>Tue, 06 Dec 2011 09:32:09 GMT</pubDate></item><item><title><![CDATA[Reply to binarynumber on Tue, 06 Dec 2011 09:33:52 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/39478" rel="nofollow">http://www.c-plusplus.net/forum/39478</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153731</guid><dc:creator><![CDATA[zuckerlie]]></dc:creator><pubDate>Tue, 06 Dec 2011 09:33:52 GMT</pubDate></item><item><title><![CDATA[Reply to binarynumber on Tue, 06 Dec 2011 09:38:18 GMT]]></title><description><![CDATA[<p>wow, stimmt,<br />
danke, für die schnellen antworten <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2153732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153732</guid><dc:creator><![CDATA[danielzaiser]]></dc:creator><pubDate>Tue, 06 Dec 2011 09:38:18 GMT</pubDate></item><item><title><![CDATA[Reply to binarynumber on Tue, 06 Dec 2011 09:38:24 GMT]]></title><description><![CDATA[<p>Der C++-Header heißt übrigens &lt;cmath&gt;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153733</guid><dc:creator><![CDATA[314159265358979__]]></dc:creator><pubDate>Tue, 06 Dec 2011 09:38:24 GMT</pubDate></item><item><title><![CDATA[Reply to binarynumber on Tue, 06 Dec 2011 10:01:24 GMT]]></title><description><![CDATA[<p>so klappt alles wunderbar,<br />
man muss nur darauf achten, dass hinter zahlen ein . steht und hinter variablen nix:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;cmath&gt; 
using namespace std;

int main()							
{
  int a,Basis=2,Ergebnis=0,Rest,Durchlauf=0,x;
  cout&lt;&lt;&quot;Zahl: &quot;;
  cin&gt;&gt;a;
  while(a!=0)
  {
	Rest=a%Basis;								
	a=a/Basis;					
	Ergebnis=Ergebnis+(Rest*pow(10.,Durchlauf));
	Durchlauf++;
  }

  cout&lt;&lt;&quot;Ergebnis: &quot;&lt;&lt;Ergebnis;
  cin.get();   
  cin.get();
  return 0;
}
</code></pre>
<p>so jetzt muss ich das ganze nur noch auf nen stringstream ausgeben, und fertig^^</p>
<p>danke leute.</p>
<p>ps: wieso funktioniert das bei großen zahlen nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153740</guid><dc:creator><![CDATA[danielzaiser]]></dc:creator><pubDate>Tue, 06 Dec 2011 10:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to binarynumber on Tue, 06 Dec 2011 10:26:30 GMT]]></title><description><![CDATA[<p>//edit fehler..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153748</guid><dc:creator><![CDATA[zuckerlie]]></dc:creator><pubDate>Tue, 06 Dec 2011 10:26:30 GMT</pubDate></item><item><title><![CDATA[Reply to binarynumber on Tue, 06 Dec 2011 10:27:10 GMT]]></title><description><![CDATA[<p>Du meinst, bei Zahlen, die mehr als 10 Binärstellen haben? Irgendwann ist mit der Rechengenauigkeit eines ints eben Schluss. Ich bezweifle mal auch ganz stark deine Wahl von int als Ergebnistyp. int ist ein Datentyp für Ganzzahlen. Du möchtest eine bestimmte Darstellung einer Zahl. Das ist wie der Unterschied zwischen dem philosophischem Konzept der Zahl 2 und dem tatsächlichen Zeichen '2' aus den arabischen Ziffern. In anderen Kulturen hätte ich statt '2' auch II oder 10 schreiben können. Die Bedeutung dahinter ist aber immer die gleiche. Du suchst für deine Darstellung daher eher einen Datentyp, um Zeichen zu speichern, z.B. string.</p>
<p>zuckerlie schrieb:</p>
<blockquote>
<p>Versuche mal anstelle eines int ein long zu nehmen</p>
</blockquote>
<p>Unser Programm funktioniert an sich nicht! Lasst uns mehr Rechenpower dranschmeißen und das Problem vertuschen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153750</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 06 Dec 2011 10:27:10 GMT</pubDate></item></channel></rss>