binärzahl eingabe

Gast #779544
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
#779600
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
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren