Numerical Type Constants
数值类型常量
每种简单的数值类型都适用于特定类型的任务,并且当正确使用时可以优化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(对于double类型) | 2.2204460492503131e-016 |
| DBL_DIG | double类型的有效小数位数 | 15 |
| DBL_MANT_DIG | double类型的尾数位数 | 53 |
| DBL_MAX_10_EXP | double类型的指数度数的最大十进制值 | 308 |
| DBL_MAX_EXP | double类型的指数度的最大二进制值 | 1024 |
| DBL_MIN_10_EXP | double类型的指数度数的最小十进制值 | (-307) |
| DBL_MIN_EXP | double类型的指数度数的最小二进制值 | (-1021) |
| FLT_MIN | float类型能表示的最小正值 | 1.175494351e-38 |
| FLT_MAX | float类型能表示的最大值 | 3.402823466e+38 |
| FLT_EPSILON | 满足以下条件的最小值: 1.0+DBL_EPSILON != 1.0(对于float类型) | 1.192092896e–07 |
| FLT_DIG | float类型的有效小数位数 | 6 |
| FLT_MANT_DIG | float类型的尾数位数 | 24 |
| FLT_MAX_10_EXP | float类型的指数度数的最大十进制值 | 38 |
| FLT_MAX_EXP | float类型的指数度的最大二进制值 | 128 |
| FLT_MIN_10_EXP | float类型的指数度数的最小十进制值 | -37 |
| FLT_MIN_EXP | float类型的指数度数的最小二进制值 | (-125) |
示例:
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);
}最后更新于