Datentyp: REAL, LREAL
Die Datentypen REAL
und LREAL
sind Gleitpunkttypen nach IEEE 754. Gleitpunkttypen 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 |
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
Wichtig
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.
Wichtig
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.