Константы числовых типов данных
Каждый простой числовой тип предназначен для определенного круга задач и позволяет оптимизировать работу mql4-программы при правильном применении. Для лучшей читаемости кода и правильной обработки результатов вычислений введены константы, которые позволяют получить информацию об ограничениях, накладываемых на тот или иной тип простых данных.
|
|
|
CHAR_MIN
|
Минимальное значение, которое может быть представлено типом char
|
-128
|
CHAR_MAX
|
Максимальное значение, которое может быть представлено типом char
|
127
|
UCHAR_MAX
|
Максимальное значение, которое может быть представлено типом uchar
|
255
|
SHORT_MIN
|
Минимальное значение, которое может быть представлено типом short
|
-32768
|
SHORT_MAX
|
Максимальное значение, которое может быть представлено типом short
|
32767
|
USHORT_MAX
|
Максимальное значение, которое может быть представлено типом ushort
|
65535
|
INT_MIN
|
Минимальное значение, которое может быть представлено типом int
|
-2147483648
|
INT_MAX
|
Максимальное значение, которое может быть представлено типом int
|
2147483647
|
UINT_MAX
|
Максимальное значение, которое может быть представлено типом uint
|
4294967295
|
LONG_MIN
|
Минимальное значение, которое может быть представлено типом long
|
-9223372036854775808
|
LONG_MAX
|
Максимальное значение, которое может быть представлено типом long
|
9223372036854775807
|
ULONG_MAX
|
Максимальное значение, которое может быть представлено типом ulong
|
18446744073709551615
|
DBL_MIN
|
Минимальное положительное значение, которое может быть представлено типом double
|
2.2250738585072014e-308
|
DBL_MAX
|
Максимальное значение, которое может быть представлено типом double
|
1.7976931348623158e+308
|
DBL_EPSILON
|
Наименьшее число для которого выполняется условие 1.0+DBL_EPSILON != 1.0
|
2.2204460492503131e-016
|
DBL_DIG
|
Количество значимых десятичных знаков
|
15
|
DBL_MANT_DIG
|
Количество битов в мантиссе
|
53
|
DBL_MAX_10_EXP
|
Максимальное десятичное значение степени экспоненты
|
308
|
DBL_MAX_EXP
|
Максимальное двоичное значение степени экспоненты
|
1024
|
DBL_MIN_10_EXP
|
Минимальное десятичное значение степени экспоненты
|
(-307)
|
DBL_MIN_EXP
|
Минимальное двоичное значение степени экспоненты
|
(-1021)
|
FLT_MIN
|
Минимальное положительное значение, которое может быть представлено типом float
|
1.175494351e-38
|
FLT_MAX
|
Максимальное значение, которое может быть представлено типом float
|
3.402823466e+38
|
FLT_EPSILON
|
Наименьшее число для которого выполняется условие 1.0+FLT_EPSILON != 1.0
|
1.192092896e–07
|
FLT_DIG
|
Количество значимых десятичных знаков
|
6
|
FLT_MANT_DIG
|
Количество битов в мантиссе
|
24
|
FLT_MAX_10_EXP
|
Максимальное десятичное значение степени экспоненты
|
38
|
FLT_MAX_EXP
|
Максимальное двоичное значение степени экспоненты
|
128
|
FLT_MIN_10_EXP
|
Минимальное десятичное значение степени экспоненты
|
-37
|
FLT_MIN_EXP
|
Минимальное двоичное значение степени экспоненты
|
(-125)
|
Пример:
void OnStart()
{
//--- выведем значения констант
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);
} |
|