<?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[Problem Binärzahl in Dezimalzahl]]></title><description><![CDATA[<p>Hallo, ich habe ein Problem:</p>
<p>Folgende Aufgabe:<br />
______________________________________________________________________<br />
Schreiben sie ein c++ Programm, das eine Binärziffernfolge einliest (nur Betrag, kein vorzeichen) und den dezimalen Wert ausgibt. Lesen sie die Zeichen in eine &quot;char&quot;-variable ein. Verwenden sie hierzu cin.get(Variable), wobei Variable das char Zeichen ist. Zb so:</p>
<p>while(cin.get(c) &amp;&amp; (c =='0' || c=='1'))<br />
{...}</p>
<p>gehen Sie zur Berechnung von der Potenzreihendarstellung aus.</p>
<p>Tipp für Berechnung: Bsp. 1101</p>
<p>1. Schleifendurchlauf 1 1--&gt;ze1<br />
2. Schleifendurchlauf 1 (ze1)*2+1 --&gt;z2<br />
3. Schleifendurchlauf 0 (ze2)*2+0 --&gt;z3<br />
4. Schleifendurchlauf 1 (ze3)*2+1 --&gt;z4<br />
_______________________________________________________________________</p>
<p>Bin absoluter Anfänger. Habe das ganze versucht aber bekomme nie das richtige Ergebnis, finde aber den/die fehler nicht. BITTE HELFEN !!!</p>
<p>mein Programm:</p>
<pre><code class="language-cli">#include &lt;iostream&gt;
using namespace std;

int main()
{		//Variablendeklarirung
  char c;	//c ist die eingelesene Binärziffer der aktuellen Stelle
  int ze=0;	//Zwischenergebnis in Dezimalberechnung
  int ziffer;	//Zähler für Anzahl der Binärziffern
  ziffer=1;	

  while(cin.get(c) &amp;&amp; ( c=='0' || c=='1')) //Prüfschleife für Binärzahlzeichen
  {   
   cin.get(c);	//einlesen der einzelnen Ziffern je Schleifendurchgang

   if (ziffer=1)	//Prüfschleife ob erste Ziffer oder nicht
   {
    if (c=='1')		//setzt ze für erste ziffer
      {ze=ze+1;}
    else if(c=='0')
      {ze=ze+0;}
   }

   else if(ziffer&gt;1)	
   {
    if(c=='1')
      {ze=(ze*2)+1;}   //berechnet ze für Folgeziffern
    else if(c=='0')
      {ze=(ze*2)+0;}
   }
   ziffer++;
  }

  cout &lt;&lt; &quot;Ihre Binaerzahl hat den dezimalen Betragswert von: &quot; &lt;&lt; ze &lt;&lt; endl;
  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/276684/problem-binärzahl-in-dezimalzahl</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 07:32:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276684.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 06 Nov 2010 17:23:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem Binärzahl in Dezimalzahl on Sat, 06 Nov 2010 17:23:18 GMT]]></title><description><![CDATA[<p>Hallo, ich habe ein Problem:</p>
<p>Folgende Aufgabe:<br />
______________________________________________________________________<br />
Schreiben sie ein c++ Programm, das eine Binärziffernfolge einliest (nur Betrag, kein vorzeichen) und den dezimalen Wert ausgibt. Lesen sie die Zeichen in eine &quot;char&quot;-variable ein. Verwenden sie hierzu cin.get(Variable), wobei Variable das char Zeichen ist. Zb so:</p>
<p>while(cin.get(c) &amp;&amp; (c =='0' || c=='1'))<br />
{...}</p>
<p>gehen Sie zur Berechnung von der Potenzreihendarstellung aus.</p>
<p>Tipp für Berechnung: Bsp. 1101</p>
<p>1. Schleifendurchlauf 1 1--&gt;ze1<br />
2. Schleifendurchlauf 1 (ze1)*2+1 --&gt;z2<br />
3. Schleifendurchlauf 0 (ze2)*2+0 --&gt;z3<br />
4. Schleifendurchlauf 1 (ze3)*2+1 --&gt;z4<br />
_______________________________________________________________________</p>
<p>Bin absoluter Anfänger. Habe das ganze versucht aber bekomme nie das richtige Ergebnis, finde aber den/die fehler nicht. BITTE HELFEN !!!</p>
<p>mein Programm:</p>
<pre><code class="language-cli">#include &lt;iostream&gt;
using namespace std;

int main()
{		//Variablendeklarirung
  char c;	//c ist die eingelesene Binärziffer der aktuellen Stelle
  int ze=0;	//Zwischenergebnis in Dezimalberechnung
  int ziffer;	//Zähler für Anzahl der Binärziffern
  ziffer=1;	

  while(cin.get(c) &amp;&amp; ( c=='0' || c=='1')) //Prüfschleife für Binärzahlzeichen
  {   
   cin.get(c);	//einlesen der einzelnen Ziffern je Schleifendurchgang

   if (ziffer=1)	//Prüfschleife ob erste Ziffer oder nicht
   {
    if (c=='1')		//setzt ze für erste ziffer
      {ze=ze+1;}
    else if(c=='0')
      {ze=ze+0;}
   }

   else if(ziffer&gt;1)	
   {
    if(c=='1')
      {ze=(ze*2)+1;}   //berechnet ze für Folgeziffern
    else if(c=='0')
      {ze=(ze*2)+0;}
   }
   ziffer++;
  }

  cout &lt;&lt; &quot;Ihre Binaerzahl hat den dezimalen Betragswert von: &quot; &lt;&lt; ze &lt;&lt; endl;
  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1976220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1976220</guid><dc:creator><![CDATA[LAG Info]]></dc:creator><pubDate>Sat, 06 Nov 2010 17:23:18 GMT</pubDate></item><item><title><![CDATA[Reply to Problem Binärzahl in Dezimalzahl on Sat, 06 Nov 2010 17:32:54 GMT]]></title><description><![CDATA[<p>Manchmal denkt man zu kompliziert....</p>
<p>bin gerade drauf gekommen.</p>
<p>Lösung:</p>
<pre><code class="language-cli">#include &lt;iostream&gt;				
using namespace std;

main ()
{
			// Variablendefinition
 char c;
 int ze = 0;
			// Binärzahleingabe und Umrechnen in Dezimalzahl

 while (cin.get(c) &amp;&amp; ( c == '0' || c == '1' ))
 {	
	ze = ze * 2;
	if (c == '1')
	ze = ze + 1;
 }	// Ausgabe der Dezimalzahl

cout &lt;&lt; &quot;Die eingegebene Binärzahl lautet im Dezimalsystem: &quot; &lt;&lt; ze &lt;&lt; endl;
}
</code></pre>
<p>Vielleicht hilfts ja mal wem anders...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1976224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1976224</guid><dc:creator><![CDATA[LAG Info]]></dc:creator><pubDate>Sat, 06 Nov 2010 17:32:54 GMT</pubDate></item></channel></rss>