Numerical Type Constants
Each simple numerical type is intended for a certain type of tasks and allows optimizing the operation of a mql4-program when used correctly. For a better code readability and correct handling of calculation results, there are constants which allow to receive information about restrictions set to a certain type of simple data.
|
|
|
CHAR_MIN
|
Minimal value, which can be represented by char type
|
-128
|
CHAR_MAX
|
Maximal value, which can be represented by char type
|
127
|
UCHAR_MAX
|
Maximal value, which can be represented by uchar type
|
255
|
SHORT_MIN
|
Minimal value, which can be represented by short type
|
-32768
|
SHORT_MAX
|
Maximal value, which can be represented by short type
|
32767
|
USHORT_MAX
|
Maximal value, which can be represented by ushort type
|
65535
|
INT_MIN
|
Minimal value, which can be represented by int type
|
-2147483648
|
INT_MAX
|
Maximal value, which can be represented by int type
|
2147483647
|
UINT_MAX
|
Maximal value, which can be represented by uint type
|
4294967295
|
LONG_MIN
|
Minimal value, which can be represented by long type
|
-9223372036854775808
|
LONG_MAX
|
Maximal value, which can be represented by long type
|
9223372036854775807
|
ULONG_MAX
|
Maximal value, which can be represented by ulong type
|
18446744073709551615
|
DBL_MIN
|
Minimal positive value, which can be represented by double type
|
2.2250738585072014e-308
|
DBL_MAX
|
Maximal value, which can be represented by double type
|
1.7976931348623158e+308
|
DBL_EPSILON
|
Minimal value, which satisfies the condition:
1.0+DBL_EPSILON != 1.0 (for double type)
|
2.2204460492503131e-016
|
DBL_DIG
|
Number of significant decimal digits for double type
|
15
|
DBL_MANT_DIG
|
Number of bits in a mantissa for double type
|
53
|
DBL_MAX_10_EXP
|
Maximal decimal value of exponent degree for double type
|
308
|
DBL_MAX_EXP
|
Maximal binary value of exponent degree for double type
|
1024
|
DBL_MIN_10_EXP
|
Minimal decimal value of exponent degree for double type
|
(-307)
|
DBL_MIN_EXP
|
Minimal binary value of exponent degree for double type
|
(-1021)
|
FLT_MIN
|
Minimal positive value, which can be represented by float type
|
1.175494351e-38
|
FLT_MAX
|
Maximal value, which can be represented by float type
|
3.402823466e+38
|
FLT_EPSILON
|
Minimal value, which satisfies the condition:
1.0+DBL_EPSILON != 1.0 (for float type)
|
1.192092896e07
|
FLT_DIG
|
Number of significant decimal digits for float type
|
6
|
FLT_MANT_DIG
|
Number of bits in a mantissa for float type
|
24
|
FLT_MAX_10_EXP
|
Maximal decimal value of exponent degree for float type
|
38
|
FLT_MAX_EXP
|
Maximal binary value of exponent degree for float type
|
128
|
FLT_MIN_10_EXP
|
Minimal decimal value of exponent degree for float type
|
-37
|
FLT_MIN_EXP
|
Minimal binary value of exponent degree for float type
|
(-125)
|
Example:
void OnStart()
{
//--- print the constant values
printf("CHAR_MIN = %d",CHAR_MIN);
printf("CHAR_MAX = %d",CHAR_MAX);
printf("UCHAR_MAX = %d",UCHAR_MAX);
printf("SHORT_MIN = %d",SHORT_MIN);
printf("SHORT_MAX = %d",SHORT_MAX);
printf("USHORT_MAX = %d",USHORT_MAX);
printf("INT_MIN = %d",INT_MIN);
printf("INT_MAX = %d",INT_MAX);
printf("UINT_MAX = %u",UINT_MAX);
printf("LONG_MIN = %I64d",LONG_MIN);
printf("LONG_MAX = %I64d",LONG_MAX);
printf("ULONG_MAX = %I64u",ULONG_MAX);
printf("EMPTY_VALUE = %.16e",EMPTY_VALUE);
printf("DBL_MIN = %.16e",DBL_MIN);
printf("DBL_MAX = %.16e",DBL_MAX);
printf("DBL_EPSILON = %.16e",DBL_EPSILON);
printf("DBL_DIG = %d",DBL_DIG);
printf("DBL_MANT_DIG = %d",DBL_MANT_DIG);
printf("DBL_MAX_10_EXP = %d",DBL_MAX_10_EXP);
printf("DBL_MAX_EXP = %d",DBL_MAX_EXP);
printf("DBL_MIN_10_EXP = %d",DBL_MIN_10_EXP);
printf("DBL_MIN_EXP = %d",DBL_MIN_EXP);
printf("FLT_MIN = %.8e",FLT_MIN);
printf("FLT_MAX = %.8e",FLT_MAX);
printf("FLT_EPSILON = %.8e",FLT_EPSILON);
} |
|