C++ Binär in Dezimal rechnet falschherum

Aixx

Ensign
Registriert
Sep. 2011
Beiträge
239
Guten Morgen !!

ich habe hier ein Programmcode liegen der leider falsch rechnet ..

er liesst den binärwert ein und rechnet diesen auch um .. ABER er macht es von vorne nach hinten ..

d.h.

10000000 = 1
00000001 = 128

Genau dies soll andersrum passieren ..
Kann mir da jemand helfen ?


Code:
cout <<"      Umwandeln von Binaer zu Dezimal             " << endl;
cout <<"Geben Sie eine beliebige 8 stellige Binaerzahl ein" << endl;
scanf("%s",str);

result = 0;
power = 1;

for(int i=0;i<8;i++)
{
if(str[i] == '1')
{
binary[i] = 1;
result += power;
}
power *= 2;
}
printf("Die Binaere Zahl : %s lautet als Dezimalzahl : %d \n",str,result);
}
system("pause");
return 0;

MFG !
 
Du fängst ja auch von vorne an, den String zu bearbeiten, also du durchläufst die Eingabe von vorne nach hinten, nicht umgekehrt.
Du müsstest entweder von hinten durchlaufen, oder deinen String "umdrehen".
 
Zurück
Oben