Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

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

C++/Delphi: gleiche Berechnung, aber diff. Ergebnisse

  Alt 19. Mai 2007, 13:44
Hallo,

ich hab ein Programm in Delphi, dass die eulerische Zahl berechnet.

Nun hab ich, aus Lust und Laune, dieses Programm mal in C++ nachprogrammiert.

Da ist mir aufgefallen, dass es unterschiedliche Ergebnisse gibt.

Aber mir ist nicht klar, warum das so ist.
Hier mal die Codes und die Programme:

Delphi-Code:
Delphi-Quellcode:
procedure TMainForm.Button_startClick(Sender: TObject);
var
  i: Integer;
  E, F: Extended ;

begin
  E := 1;
  F := 1;

  Edit_Ausgabe.Clear;

  for i := 1 to 20 do
    begin
      F := F * i;
      E := E + (1 / F);

      Edit_Ausgabe.Text := FloatToStr(E);
      Application.ProcessMessages;
      Sleep(200);
    end;
end;
C++-Code:
Delphi-Quellcode:
void __fastcall TMainForm::Button_startClick(TObject *Sender)
{
  Edit_Ausgabe->Clear();

  int i;
  float E, F;

  E = 1;
  F = 1;

  for (i=1; i<=20; i++)
    {
      F = F * i;
      E = E + (1 / F);

      Edit_Ausgabe->Text = FloatToStr(E);
      Application->ProcessMessages();
      Sleep(200);
    }

}
Bei Delphi bekomm ich "2,71828182845905" raus, bei C++ "2,71828198432922".
Angehängte Dateien
Dateityp: exe project1_363.exe (23,0 KB, 1x aufgerufen)
Dateityp: exe project1_991.exe (615,5 KB, 1x aufgerufen)
mfg
Helmi

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