Tipo di dati: REAL, LREAL
I tipi di dati REAL
e LREAL
sono tipi a virgola mobile secondo IEEE 754. I tipi a virgola mobile sono necessari quando si utilizzano numeri decimali e numeri a virgola mobile in notazione decimale o esponenziale.
Tipo di dati | Numero di valore più piccolo | Numero di valore più grande | Memoria |
---|---|---|---|
| 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
Importante
Supporto per il LREAL
il tipo di dati dipende dal dispositivo di destinazione in uso. Vedere la rispettiva documentazione per sapere se il tipo a 64 bit o meno LREAL
viene convertito in REAL
o rimane come LREAL
durante la compilazione della domanda. La conversione può comportare la perdita di informazioni.
Importante
Se il valore del REAL
/LREAL
numero è al di fuori dell'intervallo di valori dell'intero, quindi viene restituito un risultato non definito da una conversione del tipo di dati da REAL
o LREAL
a SINT
, USINT
, INT
, UINT
, DINT
, UDINT
, LINT
, o ULINT
. Il risultato dipende dal sistema di destinazione. È anche possibile un errore di eccezione. Per ottenere codice indipendente dal sistema di destinazione, l'applicazione deve rilevare le violazioni fuori campo.
Se la REAL
/LREAL
numero è compreso nell'intervallo di valori del tipo di dati intero, quindi la conversione funziona allo stesso modo su tutti i sistemi.