Dann berechne doch das Ergebnis einmal "zu Fuß" und vergleiche es mit dem Ergebnis ohne
Exception. Stimmen die überein?
Wenn es so ist, wie Uwe es beschrieb, ist das Berechnungsergebnis, bei der Variante ohne
Exception, schlicht und einfach falsch.
Oder anders:
Delphi-Quellcode:
var
AWord: Word;
AWord2: Word;
ACardinal: Cardinal;
ADouble1: Double;
ADouble2: Double;
ADouble3: Double;
begin
AWord := 64536;
ACardinal := 64536;
ADouble1 := 64536;
AWord := SQR(AWord);
ACardinal := SQR(ACardinal);
ADouble1 := SQR(ADouble1);
ADouble1 := SQRT(ADouble1 + ADouble1);
ADouble2 := SQRT(AWord + AWord);
ADouble3 := SQRT(ACardinal + ACardinal);
MessageDlg(Format('1. %f%s2. %f%s3.%f', ADouble1,#13,ADouble2,#13,ADouble3]),mtInformation,[mbOk],0);
end;
Wenn ich da jetzt nicht zuviele Schreib- und Denkfehler drinne haben sollte, so wären drei identische Ergebnisse identischer Berechnungen mit unterschiedlichen Datentypen zu erwarten.
Frage: Ist dem (bei der Variante ohne
Exception) so?