Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Erstellen Sie ein C++-Programm, das Dualzahlen in das Dezimalsystem umrechnen kann » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 3 Beiträge
N.S großes Grinsen RE: Erstellen Sie ein C++-Programm, das Dualzahlen in das Dezimalsystem umrechnen kann

Vielen vielen Dank!
eulerscheZahl RE: Erstellen Sie ein C++-Programm, das Dualzahlen in das Dezimalsystem umrechnen kann

Es funktioniert schonmal.
Du kannst den Code aber etwas kürzen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
#include <iostream> 

using namespace std; 

int main() 
{ 
    long zahl; 
    int ergebnis = 0, potenz = 1; 

    // Dualzahl eingeben 
    do { 
	    cout << "Geben Sie die Dualzahl ein (max 16 bit): "; 
    	cin >> zahl; 
    } while (zahl > 1111111111111111); 

	while (zahl > 0) {
		ergebnis += potenz * (zahl % 10);
		zahl /= 10;
		potenz *= 2;
	}

    cout <<"Im Dezimalsystem hat die Zahl folgende Darstellung: " << ergebnis << endl; 

    return 0; 
}
N.S Erstellen Sie ein C++-Programm, das Dualzahlen in das Dezimalsystem umrechnen kann

Meine Frage:
Erstellen Sie ein C++-Programm, das Dualzahlen in das Dezimalsystem umrechnen kann.

Zwei Tipps zur Lösung:
Die letzte Ziffer einer beliebigen Zahl erhalten Sie, wenn Sie die Zahl durch 10 dividieren und den Rest dieser Division ermitteln.
Die letzte Ziffer einer Zahl können Sie löschen, wenn Sie die Zahl durch 10 dividieren und nur das ganzzahlige Ergebnis berücksichtigen.

#include <iostream>

using namespace std;

int main()
{
long zahl;
int potenzzahl = 1, position = 0, ergebnis = 0;

// das Feld zum Speichern der Ziffern
int ziffer[16];

// das Feld wird mit 0 besetzt
for (int index = 0; index < 16; index++)
ziffer[index] = 0;
// Dualzahl eingeben
do {
cout << "Geben Sie die Dualzahl ein (max 16 bit): " << endl;
cin >> zahl;
} while (zahl > 1111111111111111);

do {
// die letzte Ziffer ablegen
ziffer[position] = zahl % 10;
//zur nächsten Position gehen
position++;
// durch 10 dividieren um die letzte Ziffer zu löschen
zahl = zahl / 10;
} while (zahl!=0);
for (int schleife = 0; schleife < 16; schleife++)
{ergebnis = ergebnis + ziffer[schleife] * potenzzahl;
potenzzahl = potenzzahl * 2;}

cout <<"Im Dezimalsystem hat die Zahl folgende Darstellung: "<< ergebnis << endl;


return 0;
}



Meine Ideen:
Hi, ich möchte nur wissen, ob ich die Lösung richtig gelöst habe.
Wäre über Hilfe sehr dankbar.