Forum: PC-Programmierung binärzahl eingabe


von huii (Gast)


Lesenswert?

hallo, ich will ein binär zahl per tastatur eingeben und mit
diesen zahl rechnen.

hab mir das so vorgestellt:

char bin[20];
scanf("%s",&bin);

wenn ich aber nun die zahl ausgebe mit:

printf("%d",bin[0]);

wird mir der ascii code der zahl angezeigt aber ich bräuchte den wert
als integer um damit auch zu rechnen.

wie mache ich das nun am besten?

grundgedanke ist, dass dann in jedem array element eine stelle der 
eingabe als integer gespeichert ist.


besten dank
huii

von Arc N. (arc)


Lesenswert?

> wie mache ich das nun am besten?

Um den gesamten String umzuwandeln:
1
long result;
2
char* endPtr;
3
result = strtol(&bin[0], &endPtr, 2);

Um die einzelnen Zeichen in 0 und 1 umzuwandeln (unter der Voraussetzung 
das bin nur die Zeichen '0' und '1' enthält).
1
char binInt[20];
2
char bin[20];
3
4
scanf("%19s",&bin);
5
6
for (int i = 0; i < strlen(bin); i++) {
7
    binInt[i] = bin[i] - '0';
8
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.