Hallo Leute,
ich muss ein Programm schreiben, welches eine Dezimalzahl in eine binäre Zahl umwandelt. Ich habe es schon programmiert, aber wenn ich 2 eingebe, kommt 10 heraus. Das stimmt auch, aber gehören davor noch zwei Nullen, sodass 0010 da steht? Wenn ja, wie geht das?
Danke für die Hilfe.
Hier mein Code:
int main(void)
{
int zahl = 0, dezimal = 0, rest = 0, ergebnis = 0, faktor = 1;
char wiederholen = 0;
printf("\nDieses Programm wandelt Dezimalzahlen in Dualzahlen um.\n");
printf("--------------------------------------------------------------");
printf("\nZahl eingeben: ");
scanf("%d", &dezimal);
zahl = dezimal;
while (dezimal != 0) {
rest = dezimal % 2;
dezimal = dezimal / 2;
ergebnis = ergebnis + (rest * faktor);
faktor *= 10;
}
printf("Binaer : %d \n", ergebnis);
printf("\nWollen Sie das Programm wiederholen (j/n)?");
wiederholen = getche();
if ((wiederholen == 'j') || (wiederholen == 'J')) {
return main();
}
else return EXIT_SUCCESS;
}