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_VARWichtig
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.