Die Formel ist richitg, aber die Ergebnisübergabe klappt so nicht:
for (i=(32-1);i>=0;i--)
{
erg=b; //Hier steht b[ und die varablie i] wird im Forum nicht korrekt angezeigt
}
Das "b" ist ein array mit 32 stellen und die übergibst du nach und nach an das erg, aber erg ist nur ein normaler integer, also summierst du nicht auf sondern änderst immer nur seinen Wert. Du hast sicherlich immer nur 1 oder 0 bekommen stimmts?
Mußt du das Ergebnis überhaupt übergeben? Reicht es nicht wenn du die "for -Schleife" weglässt und einfach "return(b)" machst?
Oder du schreibst die "for schleife" anders, so das "erg" die Zahlen immer aufnimmt, etwa so:
for (i=(32-1);i>=0;i--)
{
erg=erg*10;
erg=erg+b(i);
//natürlich mit rechteckigen klammern, das weißt du aber! }
So verschiebt er immer eine Stelle nach vorne und addiert die "1" oder "0" hinten auf.
Klingt vielleicht etwas verwirrend, aber anders kann ichs grad nicht ausdrücken!