C :: Aufgabe #171 :: Lösung #2

2 Lösungen Lösungen öffentlich
#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
#2
vote_ok
von kathleenw (3600 Punkte) - 26.06.2020 um 08:56 Uhr
Quellcode ausblenden C-Code
// Zahlen aus den Binärsystem in das Dezimalsystem umwandeln

#include <stdio.h>
#include <string.h>
#include <math.h>

int anzahl(int zahl);
int stelle(int zahl, int stelle);

int main(void)
{
    int binaer, dezimal;
    int i, len, stellenziffer;

    dezimal=0;
    
    //Zahl eingeben
    printf("Bitte gib eine binäre Zahl ein: ");
    scanf("%d",&binaer);
    
    //Länge ermitteln der Zahl
    len = anzahl(binaer);

    //Dezimale Zahl ermitteln
    for (i=1;i<=len;i++) {
        stellenziffer = stelle(binaer,i);
        dezimal = dezimal + stellenziffer * pow (2,i-1);
    }
    
    //Zahl ausgeben
    printf("Die dazugehörige Dezimalzahl ist %d. \n", dezimal);
    
    return 0;
}
 
int stelle(zahl, stelle)
{
    zahl = fabs(fmod(zahl/pow(10,stelle-1),10));
    return zahl;
}

int anzahl(zahl)
{
    int zeichen;
    char buffer[100];
    sprintf(buffer,"%d",zahl);
    zeichen = strlen(buffer);
    return zeichen;
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben