Objective-C :: Aufgabe #168
1 Lösung
Zahlen umwandeln: Binär zu Dezimal
Anfänger - Objective-C
von Nachbar
- 13.09.2017 um 14:19 Uhr
Schreibe eine Funktion, die Zahlen aus dem Dualsystem in Zahlen des Dezimalsystems umwandelt.
Beispiel:
Binär: 11010
Dezimal: 26
Beispiel:
Binär: 11010
Dezimal: 26
Lösungen:
/**********************************
* b2d.c Binär-Dezimal Konversion
**********************************/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int b2d(const char *bin) {
const char *pbin;
int dec, base;
base=1;
dec=0;
pbin=bin+strlen(bin);
while (--pbin >= bin) {
if (*pbin=='0' || *pbin=='1') {
dec+=(*pbin-'0')*base;
base<<=1;
}
else
/* stop conversion at 1st invalid digit */
return -1;
}
return dec;
}
int main(void) {
char bin[256];
printf("Binärzahl : ");
scanf("%s", bin);
printf("Dezimalzahl: %d\n", b2d(bin));
return 0;
}
