Objective-C :: Aufgabe #168

1 Lösung Lösung öffentlich

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

Lösungen:

1 Kommentar
vote_ok
von devnull (8870 Punkte) - 14.09.2017 um 22:01 Uhr
Quellcode ausblenden C-Code
/**********************************
 * 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;
}