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:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
|
/* ################################################
Umrechnung vom Dezimal- in das Dualzahl
################################################ */
#include <iostream>
using namespace std;
int main()
{
int basiszahl;
int zahl;
//eine Eingabeaufforderung ausgeben
int reste [16];
//Das Feld wird mit 0 besetzt
for (int index = 0; index < 16; index++)
reste[index] = 0;
//den Wert einlesen
do {
cout << "Geben Sie den Wert ein, der umgerechnet werden soll (max. 65 535): ";
cin >> zahl;
} while (zahl > 65535);
do {
cout << "Geben Sie Die Basis ein, in die umgerechnet werden soll (max. 9): ";
cin >> basiszahl;
// eventuell prüfen, ob basiszahl > 1 und < 9
} while (basiszahl > 9 || basiszahl < 2);
//die Schleife
int position = 0;
do {
//den Rest der Division ablegen
reste [position] = zahl % basiszahl;
//zur nächsten Position gehen
position++;
//durch 2 teilen und wieder zuweisen
zahl = zahl / basiszahl;
} while (zahl != 0);
//die "Reste" von hinten nach vorne ausgeben
for (int index = 15; index >= 0; index--) {
cout << reste [index];
//alle vier Stellen fügen eine Leerstelle ein
if (index % 4 == 0)
cout << " ";
}
return 0;
} |