Tipo de datos: REAL, LREAL
los tipos de datos REAL
y LREAL
son tipos de punto flotante según IEEE 754. Los tipos de punto flotante son necesarios cuando se utilizan números decimales y números de punto flotante en notación decimal o notación exponencial.
Tipo de datos | Número de valor más pequeño | Número de mayor valor | Memoria |
---|---|---|---|
| 1.0E-44 | 3.402823E+38 | 32 bits |
| 4.94065645841247E-324 | 1.7976931348623157E+308 | 64 bits |
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
Apoyo a la LREAL
el tipo de datos depende del dispositivo de destino en uso. Consulte la documentación respectiva sobre si el tipo de 64 bits LREAL
se convierte en REAL
o queda como LREAL
al compilar la aplicación. La conversión puede resultar en la pérdida de información.
Importante
Si el valor de la REAL
/LREAL
número está fuera del rango de valores del entero, entonces se produce un resultado indefinido de una conversión de tipo de datos de REAL
o LREAL
a SINT
, USINT
, INT
, UINT
, DINT
, UDINT
, LINT
, o ULINT
. El resultado depende del sistema de destino. También es posible un error de excepción. Para obtener un código que sea independiente del sistema de destino, la aplicación debe detectar las infracciones fuera de rango.
Si el REAL
/LREAL
número está dentro del rango de valores del tipo de datos entero, entonces la conversión opera de la misma manera en todos los sistemas.