// bin_dez01.ccp, Umwandlung binär in dez.

 

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

 

void main(void){

int iBinaer[20];

int iDezimal=0,i=0,iAnzahl=0, iHilfe=0,ifehler=1;

 

// Eingabe der Anzahl von Stellen der Binaerzahl

 

while(ifehler==1){

                        ifehler=0;

                        printf("\n Bitte Anzahl der Stellen eingeben (max 20): ");

                        printf(" \n");

                        scanf("%i",&iAnzahl);

                        printf("\n");

                        if (iAnzahl<0||iAnzahl>20){

                                   ifehler=1;

                                   printf("\n Anzahl nicht im gueltigen Bereich ! ");

                                   }

                        }

 

// Eingabe der Binaerzahl

 

ifehler=1;

while(ifehler==1){

                        ifehler=0;

                        printf("\n Bitte Binaerzahl eingeben: \n");

                        printf("\n Erster eingegebener Wert ist das LSB! ");

                        printf(" \n");

                        for (i=0;i<iAnzahl;i++){

                        scanf("%i",&iBinaer[i]);

                                     if (iBinaer[i]<0||iBinaer[i]>1){

                                                           ifehler=1;

                                                           printf("\n Wert nicht im gueltigen Bereich ! ");

                                                           }

                                     }

                        }

printf(" \n");

 

printf(" Binaerzahl ist: ");

for (i=iAnzahl-1;i>=0;i--){

              printf(" %i  ",iBinaer[i]);

             }

printf(" \n");

 

// Umwandlung der Binaerzahl in Dezimalzahl

 

for (i=0;i<iAnzahl;i++){

              if (iBinaer[i]==1){

                                   iHilfe=pow(2,i);

                                   iDezimal=iDezimal+iHilfe;

                                   }

             }

printf(" \n");

printf(" \n");

printf(" Dezimalzahl ist: %i  ",iDezimal);

 

fflush(stdin);

getchar();

}