REAL/LREAL
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 | Untergrenze | Obergrenze | Betragsmäßig kleinste Zahl | Speicherplatz |
---|---|---|---|---|
REAL | -3.402823e+38 | 3.402823e+38 | 1.0e-44 | 32 Bit |
LREAL | -1.7976931348623158e+308 | 1.7976931348623158e+308 | 4.94065645841247e-324 | 64 Bit |
Beispiel
PROGRAM MAIN
VAR
fMaxReal : REAL := 3.402823E+38; // Largest REAL number
fPosMinReal : REAL := 1.0E-44; // Smallest positive REAL number
fNegMaxReal : REAL := -1.0E-44; // Largest negative REAL number
fMinReal : REAL := -3.402823E+38; // Smallest REAL number
fMaxLreal : LREAL := 1.7976931348623157E+308; // Largest LREAL number
fPosMinLreal : LREAL := 4.94065645841247E-324; // Smallest positive LREAL number
fNegMaxLreal : LREAL := -4.94065645841247E-324; // Largest negative LREAL number
fMinLreal : LREAL := -1.7976931348623157E+308; // Smallest LREAL number
END_VAR
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. |
Zuweisung eines besonders großen Literals Um ein ganzzahliges Literal zuzuweisen, das größer ist als die Obergrenze von ULINT, muss entweder ein Komma gesetzt oder ein expliziter Typecast angegeben werden. Ohne eine solche Spezifizierung als Gleitkommazahl können Informationen verloren gehen. |
Siehe auch: