Folgende Aufgabe:
Das Umrechnen ist kein Problem, aber wie soll ich das machen, dass der das immer "live" umrechnet? Hab bisher nur den nackten Quelltext...
Ich probier mal weiter aber vll hat ja jemand nen Denkanstoß...
Alles anzeigen
:roll:
EDIT: Ich weiß vorallem nicht wie ich das hinkriegen soll, dass sich die Exponenten der Zahl 2 bei jeder Eingabe um 1 erhöhen...
Schreiben Sie ein C++-Programm, das eine bin¨are Ziffernfolge einliest (nur Betrag, kein Vorzeichen),
z.B. 1101, und den entsprechenden dezimalen Wert ausgibt. Die bin¨are Ziffernfolge
wird zeichenweise von der Tastatur eingelesen. Jedes Zeichen wird unmittelbar verwendet, um
das Ergebnis zu aktualisieren.
Hinweis: Lesen Sie die einzelnen Zeichen in eine char-Variablen ein. Verwenden Sie hierzu das
Kommando cin.get(Variablenname), wobei Variablenname der Name der char-Variablen
ist. Der Kopf der Schleife k¨onnte somit folgendes Aussehen haben:
while (cin.get(c) && ( c == ’0’c == ’1’))
{
...
}
Gehen Sie bei der Berechnung des dezimalen Wertes einer bin¨aren Zahl von der Potenzreihendarstellung
zur Basis 2 aus:
z.B. 1101: 1*2³ + 1*2² + 0*2^1 + 1*2^0
Das Umrechnen ist kein Problem, aber wie soll ich das machen, dass der das immer "live" umrechnet? Hab bisher nur den nackten Quelltext...

Quellcode
- #include <iostream>
- using namespace std;
- int main ()
- {
- cout << "Dieses Programm rechnet von binären Zahlenfolgen in dezimale Zahlenwerte um! " << endl;
- cout << " " << endl;
- cout << "Bitte Zahlen eingeben (nur 0 und 1 werden akzeptiert): " << endl;
- char c;
- while (cin.get(c) && ( c == ’0’ || c == ’1’))
- {
- }
- }
EDIT: Ich weiß vorallem nicht wie ich das hinkriegen soll, dass sich die Exponenten der Zahl 2 bei jeder Eingabe um 1 erhöhen...