Bitte benutze doch die delphi-Tags und rücke das ganze ein bisschen ein, dann ist es deutlich leichter zu lesen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
n: Double;
begin
n:=1;
for i:=1 to 64 do begin
listbox1.Items.Add(inttostr(i)+' '+floattostr(n));
n:=n*2;
end;
end;
So würde ich das machen. n muss hier ein Double sein (oder ein Single oder ein Extended), weil Integer nicht ausreiche - der geht nur bis 2^31-1 (bzw. Cardinal bis 2^32-1), du brauchst es aber bis 2^63, ich glaube das schafft nichtmal ein Int64 (der geht glaube ich nur bis 2^63-1).
Was passiert jetzt da genau? Du fängst bei n=1 an und dann machst du 64 mal folgendes: Du gibst n aus und verdoppelst es dann. n ist daher im i. Durchlauf 2^(i-1). Passt.