Nümerik Tip Sabitleri

Her bir basit sayısal tip belli başlı görev türleri için düşünülmüştür ve doğru kullanıldığında bir MQL5 program işleminin optimize edilmesini sağlar. Daha iyi bir kod okunurluğunun sağlanması ve hesaplama sonuçlarının daha düzgün işlenebilmesi amacıyla, belli bir tipteki basit verilerdeki ayarlanmış kısıtlamalar hakkında bilgi almayı sağlayan sabitler bulunmaktadır.

Sabit

Açıklama

Değer

CHAR_MIN

char tipi ile temsil edilebilecek minimal değer

-128

CHAR_MAX

char tipi ile temsil edilebilecek maksimal değer

127

UCHAR_MAX

uchar tipi ile temsil edilebilecek maksimal değer

255

SHORT_MIN

uchar tipi ile temsil edilebilecek minimal değer

-32768

SHORT_MAX

short tipi ile temsil edilebilecek maksimal değer

32767

USHORT_MAX

ushort tipi ile temsil edilebilecek maksimal değer

65535

INT_MIN

int tipi ile temsil edilebilecek minimal değer

-2147483648

INT_MAX

int tipi ile temsil edilebilecek maksimal değer

2147483647

UINT_MAX

uint tipi ile temsil edilebilecek maksimal değer

4294967295

LONG_MIN

long tipi ile temsil edilebilecek minimal değer

-9223372036854775808

LONG_MAX

long tipi ile temsil edilebilecek maksimal değer

9223372036854775807

ULONG_MAX

ulong tipi ile temsil edilebilecek maksimal değer

18446744073709551615

DBL_MIN

double tipi ile temsil edilebilecek minimal pozitif değer

2.2250738585072014e-308

DBL_MAX

double tipi ile temsil edilebilecek maksimal değer

1.7976931348623158e+308

DBL_EPSILON

Şu koşulu sağlayan minimal değer:

1.0+DBL_EPSILON != 1.0 (double tipi için)

2.2204460492503131e-016

DBL_DIG

double tipi için, anlamlı ondalık hanelerin sayısı

15

DBL_MANT_DIG

double tipi için mantis içindeki bit sayısı

53

DBL_MAX_10_EXP

double tipli maksimal ondalık üs değeri

308

DBL_MAX_EXP

double tipli maksimal ikili üs değeri

1024

DBL_MIN_10_EXP

double tipli minimal ondalık üs değeri

(-307)

DBL_MIN_EXP

double tipli minimal ikili üs değeri

(-1021)

FLT_MIN

float tipiyle temsil edilebilecek minimal pozitif değer

1.175494351e-38

FLT_MAX

float tipiyle temsil edilebilecek maksimal değer

3.402823466e+38

FLT_EPSILON

Şu koşulu sağlayan minimal değer:

1.0+DBL_EPSILON != 1.0 (float tipi için)

1.192092896e–07

FLT_DIG

float tipi için anlamlı ondalık hanelerin sayısı

6

FLT_MANT_DIG

float tipi için mantis içindeki bit sayısı

24

FLT_MAX_10_EXP

float tipli maksimal ondalık üs değeri

38

FLT_MAX_EXP

float tipli maksimal ikili üs değeri

128

FLT_MIN_10_EXP

float tipli minimal ondalık üs değeri

-37

FLT_MIN_EXP

float tipli minimal ikili üs değeri

(-125)

Örnek:

void OnStart()
  {
//--- sabit değerleri çıktıla
   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
*/ 
  }