// 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();
}