Die Datentypen REAL
und LREAL
sind Gleitpunkttypen nach IEEE 754. Sie sind nötig bei der Verwendung von Dezimalzahlen
und Gleitpunktzahlen in Punktdarstellung oder Exponentialdarstellung.
Datentyp |
Betragsmäßig kleinste Zahl |
Betragsmäßig größte Zahl |
Speicherplatz |
---|---|---|---|
|
1.0E-44 |
3.402823E+38 |
32 Bit |
|
4.94065645841247E-324 |
1.7976931348623157E+308 |
64 Bit |
Beispiel
PROGRAM PLC_PRG VAR rMax: REAL := 3.402823E+38; // Largest number rPosMin : REAL := 1.0E-44; // Smallest positve number rNegMax: REAL := -1.0E-44; // Largest negative number rMin: REAL := -3.402823E+38; // Smallest number lrMax: LREAL := 1.7976931348623157E+308; // Largest number lrPosMin : LREAL := 4.94065645841247E-324; // Smallest positve number lNegMax: LREAL := -4.94065645841247E-324; // Largest negative number lrMin: LREAL := -1.7976931348623157E+308; // Smallest number END_VAR




HINWEIS

Die Unterstützung des Datentyps LREAL
hängt vom verwendeten Zielgerät ab. Bitte sehen Sie in der zugehörigen Dokumentation,
ob der 64-Bit-Typ LREAL
beim Übersetzen der Applikation in REAL
konvertiert wird oder als LREAL
erhalten bleibt. Bei einer Konvertierung können nämlich Informationsverluste auftreten.




HINWEIS

Wenn der Wert der REAL
/LREAL
-Zahl außerhalb des Wertebereichs des Integers liegt, wird bei einer Datentypkonvertierung
von REAL
oder LREAL
nach SINT
, USINT
, INT
, UINT
, DINT
, UDINT
, LINT
oder ULINT
ein undefiniertes Ergebnis geliefert. Das Ergebnis ist vom Zielsystem abhängt. Auch
ein Ausnahmefehler ist möglich! Um zielsystemunabhängigen Code zu erhalten, muss
die Applikation Wertebereichsüberschreitungen abfangen.
Wenn die REAL
/LREAL
-Zahl innerhalb des Wertebereichs des ganzzahligen Datentyps liegt, arbeitet die Konvertierung
auf allen Systemen gleich.
Siehe auch