数值类型常量
数值类型常量
每一简单数值类型都有确定的任务类型,并允许当MQL5程序操作正常使用时最佳化,对于较好的代码可读性和计算值的正确处理,有允许接收设置某一简单数据类型信息的常量。
| 常量 | 描述 | 值 |
|---|---|---|
| CHAR_MIN | 最小值,可以代表图表类型 | -128 |
| CHAR_MAX | 最大值,可以代表图表类型 | 127 |
| UCHAR_MAX | 最大值,可以代表无符字符型 | 255 |
| SHORT_MIN | 最小值,可以代表短型 | -32768 |
| SHORT_MAX | 最大值,可以代表短型 | 32767 |
| USHORT_MAX | 最大值,可以代表无符号短型 | 65535 |
| INT_MIN | 最小值,可以代表整型 | -2147483648 |
| INT_MAX | 最大值,可以代表整型 | 2147483647 |
| UINT_MAX | 最大值,可以代表无符号整型 | 4294967295 |
| LONG_MIN | 最小值,可以代表长型 | -9223372036854775808 |
| LONG_MAX | 最大值,可以代表长型 | 9223372036854775807 |
| ULONG_MAX | 最大值,可以代表无符号长型 | 18446744073709551615 |
| DBL_MIN | 最小正值,可以代表双精度型 | 2.2250738585072014e-308 |
| DBL_MAX | 最大值,可以代表双精度型 | 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 | 最小正值,能代表浮点类型 | 1.175494351e-38 |
| FLT_MAX | 最大值,能代表浮点类型 | 3.402823466e+38 |
| FLT_EPSILON | 最小值,满足因素:1.0+DBL_EPSILON != 1.0 (浮点类型) | 1.192092896e07 |
| 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);
/*
CHAR_MIN = -128
CHAR_MAX = 127
UCHAR_MAX = 255
SHORT_MIN = -32768
SHORT_MAX = 32767
USHORT_MAX = 65535
INT_MIN = -2147483648
INT_MAX = 2147483647
UINT_MAX = 4294967295
LONG_MIN = -9223372036854775808
LONG_MAX = 9223372036854775807
ULONG_MAX = 18446744073709551615
EMPTY_VALUE = 1.7976931348623157e+308
DBL_MIN = 2.2250738585072014e-308
DBL_MAX = 1.7976931348623157e+308
DBL_EPSILON = 2.2204460492503131e-16
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 = 1.17549435e-38
FLT_MAX = 3.40282347e+38
FLT_EPSILON = 1.19209290e-07
*/
}