数値定数

単純な数値型は、それぞれ特定の種類のタスクのために意図され、正しく使用した場合 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 型の仮数部のビット数。

53

DBL_MAX_10_EXP

double 型の指数度の 10 進数での最大値。

308

DBL_MAX_EXP

double 型の指数度の 2 進数での最大値。

1024

DBL_MIN_10_EXP

double 型の指数度の 10 進数での最小値。

(-307)

DBL_MIN_EXP

double 型の指数度の 2 進数での最小値。

(-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 型の指数度の 10 進数での最大値。

38

FLT_MAX_EXP

float 型の指数度の 2 進数での最大値。

128

FLT_MIN_10_EXP

float 型の指数度の 10 進数での最小値。

-37

FLT_MIN_EXP

float 型の指数度の 2 進数での最小値。

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