C :: Aufgabe #171 :: Lösung #1
2 Lösungen
#171
Zahlen umwandeln: Binär zu Dezimal
Anfänger - 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
#1
von Dreami (60 Punkte)
- 21.12.2017 um 23:31 Uhr
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
double binaerZuDezimal(unsigned long binaer) {
int i = 0, anzahlStellen = snprintf(NULL, 0, "%lu", binaer);
double dezimal = 0;
char zahl[anzahlStellen + 1];
snprintf(zahl, anzahlStellen, "%lu", binaer);
while (i < strlen(zahl)) {
int zahlGerade = (int) zahl[i] - '0';
dezimal = dezimal + zahlGerade * pow(2, strlen(zahl) - i);
i++;
}
return dezimal;
}
int main(void) {
long unsigned binaer;
puts("Bitte eine binäre Zahl eingeben: ");
scanf("%22lu", &binaer);
printf("%.0f", binaerZuDezimal(binaer));
return (EXIT_SUCCESS);
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
