Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Problem mit überlauf bzw. division durch null

  Alt 20. Okt 2008, 15:17
Hallo,

bei mir funktioniert folgender Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i, n: longint;
  x : Real;
begin
  n := StrToIntDef(Edit1.text, 10);
  x := 0;

  memo1.lines.Clear;

  memo1.lines.Add(' 1/' + '');

  for i := 2 to n do
    begin
      memo1.lines.Add('+1/' + inttostr(i)+ '²');
      If i < 65536 then
        x := x + (1 / (i * i))
      else
        break;
    end;

  x := x + 1;

  memo1.lines.add('=' + floattostr(x));
end;
[Edit]
Der Code geht nicht bei 65536 als Eingabe.
Division durch Null als Meldung

Ich hab auch rausgefunden warum:
65536 * 65536 = 4294967296

Und 4294967296 ist sogar für ein LongWord zu lang
ein LongWord geht von 0...4294967295
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat