Binär in Dezimal
-
Moin!
Ich bin noch absoluter Neuling in C und wär sehr dankbar über eure Mithilfe.
Ich brauche ein Programm, bei dem ich eine Binärzahl eingebe und eine Dezimalzahl als Ausgabe erhalte. Dabei sollen führende Whitespaces überlesen und fehlerhafte Eingaben zurückgewiesen werden (z.B. Eingabe von Buchstaben oder Zahlen ausserhalb des Wertebereichs). Das Ganze soll mit Hilfe von getchar und ner if Anweisung erfolgen.Wär nett, wenn ihr n paar tipps für mich habt.
thx a lot
-
Die stdlib.h enthält eine Funktion die das für dich erledigen kann. Ich poster dir später (ca. 20 Uhr) noch meinen Code der exakt das was du willst für mich erledigt.
-
bzw. _ltow
In deiner Doku sollte auch ein erklärendes BSp stehen.
-
-
void stdlibfunc14() { int Radix; // 2-36 nicht höher und nicht niedriger! long Zahl; // bzw. int, unsigned int char puffer[32]; printf("Geben Sie die umzuwandelnde Zahl an: "); scanf("%2ld",&Zahl); printf("\nGeben Sie die Zahlenbasis an: "); //2 für binärumwandlung scanf("%2d",&Radix); _ltoa(Zahl,puffer,Radix); //bzw. _itoa für integer oder _ultoa etc.... printf("\nErgebnis: %2s\n\n",puffer); }
-
Wie CStoll schon gesagt hat ist dieses _ltoa() keine Standard-C-Funktion. Und zudem glaube ich eher, dass der op aus einem String ein integer machen wollte, also das was CStoll eben auch schon gesagt hat: man: strtol
-
Ist wohl eindeutig die bessere Methode!