숫자 유형 상수

각 간단한 숫자 유형은 특정 유형의 작업에 사용되며 올바르게 사용할 경우 mql5 프로그램의 작동을 최적화할 수 있습니다. 더 나은 코드 가독성과 계산 결과의 올바른 처리를 위해 특정 유형의 단순 데이터로 설정된 제한에 대한 정보를 수신할 수 있는 상수가 있습니다.

정수

설명

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 유형에 대한 mantissa의 비트 수

53

DBL_MAX_10_EXP

double 유형에 대한 지수도의 최대 소수 값

308

DBL_MAX_EXP

double 유형에 대한 지수도의 최대 binary 값

1024

DBL_MIN_10_EXP

double 유형의 지수도 최소 소수 값

(-307)

DBL_MIN_EXP

double 유형에 대한 지수도의 최소 binary 값

(-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 유형에 대한 mantissa 비트 수

24

FLT_MAX_10_EXP

float 유형의 지수도 최대 소수 값

38

FLT_MAX_EXP

float 유형의 지수도 최대 binary 값

128

FLT_MIN_10_EXP

float 유형의 지수도 최소 소수값

-37

FLT_MIN_EXP

float 유형의 지수도 최소 binary 값

(-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
*/ 
  }