Skip to main content

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.

Tabelle 20. Zielsystem

Datentyp

Betragsmäßig kleinste Zahl

Betragsmäßig größte Zahl

Speicherplatz

REAL

1.0E-44

3.402823E+38

32 Bit

LREAL

4.94065645841247E-324

1.7976931348623157E+308

64 Bit



Beispiel 206. 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


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.