Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- Erstellen Sie ein C++-Programm, das Dualzahlen in das Dezimalsystem umrechnen kann (http://www.informatikerboard.de/board/thread.php?threadid=2905)


Geschrieben von N.S am 07.03.2016 um 20:12:

  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.



Geschrieben von eulerscheZahl am 08.03.2016 um 06:05:

  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; 
}



Geschrieben von N.S am 08.03.2016 um 11:35:

großes Grinsen RE: Erstellen Sie ein C++-Programm, das Dualzahlen in das Dezimalsystem umrechnen kann

Vielen vielen Dank!


Forensoftware: Burning Board, entwickelt von WoltLab GmbH