tut mir jetzt echt leid, aber ich versteh das jetzt nicht, also wir haben in der schule gelernt , dass man die zahl in potenzen zerlegen muss, also bei z.b 1010:
=0*2^0+1*2^1+0*2^2+1*2^3,
deswegen versteh ich nicht wie ihr das rein mathematisch löst
waum machst du's dann nicht so?
Delphi-Quellcode:
Potenz:= Power(2, E);
Summe:= Summe + Potenz * J;
BTW, der Algorithmus von Aphton wird etwas leichter verständlich, wenn du
die Nullen mit multiplizierst, was du aber nicht brauchst, da ja eben Null, weshalb sich Aphton das geschenkt hat.
Delphi-Quellcode:
function BinToDec (const S: string): string;
var
I, J, P: Integer;
begin
J:= 0;
P:= 1;
for I:= Length(S) downto 1 do
if S[I] in ['0', '1'] then
begin
J:= J + P * StrToInt(S[I]);
P:= P * 2;
end
else
begin
J:= -1;
Break;
end;
Result:= IntToStr(J);
end;