Ich lese gerade Norman Cohens Ada-95-Buch, und auf Seite 129 finden wir die ständigen Erklärungen:
Pi: constant Float := 3.1415926536
y
Pi: constant := 3.1415926536
Die zweite Erklärung soll wie folgt interpretiert werden, ich zitiere: "eine beliebige Fließkommazahl vom Typ Festkomma mit dem entsprechenden Bereich". Meine Frage ist, wenn man mit Long_Float-Präzision arbeitet, muss man z.B. eine Konstante, z.B. 2*PI, speziell deklarieren wie
Two_Pi : CONSTANT Long_Float := 2.0 * 3.1415926536
oder noch viel besser:
Two_Pi: CONSTANT Long_Float := 2.0 * Ada.Numerics.Pi;
(die zweite Erklärung, um mehr Nachkommastellen nutzen zu können) ?
Würde
Two_Pi : CONSTANT := 2.0 * 3.1415926536
oder besser noch
Two_Pi: CONSTANT := 2.0 * Ada.Numerics.Pi;
so gut sein, wie in dem Buch behauptet wird, so dass der Ada-Compiler z. B. weiß, wenn ich Two_Pi in einer Long_Float-Berechnung verwende, dann würde der Compiler die erforderliche Anzahl von Präzisionsziffern liefern? Da der Pi-Wert 3.1415926536 nicht vom Typ Long_Float ist (da er weniger Präzisionsziffern hat), nehme ich an, dass die letzte Deklaration, d.h.
Two_Pi: CONSTANT := 2.0 * Ada.Numerics.Pi;
wäre alles, was erforderlich ist, wenn ich Two_Pi in einer Long_Float-Berechnung benötige. Habe ich das richtig verstanden? Mit einem ähnlichen Verständnis, dann
Two_Pi: CONSTANT := 2.0 * Ada.Numerics.Pi;
wäre auch bei einer Berechnung vom Typ Float relevant, und der Compiler würde nur die erforderliche Anzahl von Präzisionsziffern liefern.
Vielen Dank...