Costanti del tipo di dati

Le costanti dei tipi di dati sono gli intervalli di valori dipendenti dall'implementazione consentiti per i tipi di dati integrali e a virgola mobile.

Costanti del tipo di dati integrale

Queste costanti specificano gli intervalli per i tipi di dati integrali. Per usare queste costanti, includere l'intestazione limits.h nel file di origine:

#include <limits.h>

Nota

L'opzione /J del compilatore modifica il tipo predefinito char da signed char a unsigned char.

Costante valore Descrizione
CHAR_BIT 8 Numero di bit in char
SCHAR_MIN (-128) Valore minimo di signed char
SCHAR_MAX 127 Valore massimo di signed char
UCHAR_MAX 255 (0xff) Valore massimo di unsigned char
CHAR_MIN (-128) (0 se /J usata l'opzione) Valore minimo di char
CHAR_MAX 127 (255 se /J usata l'opzione) Valore massimo di char
MB_LEN_MAX 5 Numero massimo di byte in multibyte char
SHRT_MIN -32768 Valore minimo di signed short
SHRT_MAX 32767 Valore massimo di signed short
USHRT_MAX 65535 (0xffff) Valore massimo di unsigned short
INT_MIN (-2147483647 - 1) Valore minimo di signed int
INT_MAX 2147483647 Valore massimo di signed int
UINT_MAX 4294967295 (0xffffffff) Valore massimo di unsigned int
LONG_MIN (-2147483647L - 1) Valore minimo di signed long
LONG_MAX 2147483647L Valore massimo di signed long
ULONG_MAX 4294967295UL (0xfffffffful) Valore massimo di unsigned long
LLONG_MIN (-9223372036854775807LL - 1) Valore minimo signed long long o __int64
LLONG_MAX 9223372036854775807LL Valore massimo signed long long o __int64
ULLONG_MAX 0xffffffffffffffffull Valore massimo di unsigned long long
_I8_MIN (-127i8 - 1) Valore minimo signed a 8 bit
_I8_MAX 127i8 Valore massimo signed a 8 bit
_UI8_MAX 0xffui8 Valore massimo unsigned a 8 bit
_I16_MIN (-32767i16 - 1) Valore minimo signed a 16 bit
_I16_MAX 32767i16 Valore massimo signed a 16 bit
_UI16_MAX 0xffffui16 Valore massimo unsigned a 16 bit
_I32_MIN (-2147483647i32 - 1) Valore minimo signed a 32 bit
_I32_MAX 2147483647i32 Valore massimo signed a 32 bit
_UI32_MAX 0xffffffffui32 Valore massimo unsigned a 32 bit
_I64_MIN (-9223372036854775807 - 1) Valore minimo signed a 64 bit
_I64_MAX 9223372036854775807 Valore massimo signed a 64 bit
_UI64_MAX 0xffffffffffffffffui64 Valore massimo unsigned a 64 bit
_I128_MIN (-170141183460469231731687303715884105727i128 - 1) Valore minimo signed a 128 bit
_I128_MAX 170141183460469231731687303715884105727i128 Valore massimo signed a 128 bit
_UI128_MAX 0xffffffffffffffffffffffffffffffffui128 Valore massimo unsigned a 128 bit
SIZE_MAX uguale a _UI64_MAX se _WIN64 è definito o UINT_MAX Dimensioni massime integer nativi
RSIZE_MAX uguale a (SIZE_MAX>> 1) Dimensioni massime integer della libreria protetta

Costanti del tipo di dati a virgola mobile

Le costanti seguenti forniscono l'intervallo e altre caratteristiche dei long doubletipi di dati e double float . Per usare queste costanti, includere l'intestazione float.h nel file di origine:

#include <float.h>
Costante valore Descrizione
DBL_DECIMAL_DIG 17 N. di cifre decimali di approssimazione di arrotondamento
DBL_DIG 15 N. di cifre decimali di precisione
DBL_EPSILON 2.2204460492503131e-016 Più piccolo in modo che 1,0 + DBL_EPSILON != 1,0
DBL_HAS_SUBNORM 1 Il tipo supporta i numeri subnormali (denormalizzati)
DBL_MANT_DIG 53 N. di bit nel significando (mantissa)
DBL_MAX 1,7976931348623158e+308 Valore massimo
DBL_MAX_10_EXP 308 Esponente decimale massimo
DBL_MAX_EXP 1024 Esponente binario massimo
DBL_MIN 2,2250738585072014e-308 Valore positivo normalizzato minimo
DBL_MIN_10_EXP (-307) Esponente decimale minimo
DBL_MIN_EXP (-1021) Esponente binario minimo
_DBL_RADIX 2 Base dell'esponente
DBL_TRUE_MIN 4.9406564584124654e-324 Valore subnormale positivo minimo
FLT_DECIMAL_DIG 9 Numero di cifre decimali di approssimazione di arrotondamento
FLT_DIG 6 Numero di cifre decimali di precisione
FLT_EPSILON 1.192092896e-07F Più piccolo in modo che 1,0 + FLT_EPSILON != 1,0
FLT_HAS_SUBNORM 1 Il tipo supporta i numeri subnormali (denormalizzati)
FLT_MANT_DIG 24 Numero di bit nel significando (mantissa)
FLT_MAX 3.402823466e+38F Valore massimo
FLT_MAX_10_EXP 38 Esponente decimale massimo
FLT_MAX_EXP 128 Esponente binario massimo
FLT_MIN 1.175494351e-38F Valore positivo normalizzato minimo
FLT_MIN_10_EXP (-37) Esponente decimale minimo
FLT_MIN_EXP (-125) Esponente binario minimo
FLT_RADIX 2 Base dell'esponente
FLT_TRUE_MIN 1.401298464e-45F Valore subnormale positivo minimo
LDBL_DIG 15 N. di cifre decimali di precisione
LDBL_EPSILON 2.2204460492503131e-016 Più piccolo in modo che 1,0 + LDBL_EPSILON != 1,0
LDBL_HAS_SUBNORM 1 Il tipo supporta i numeri subnormali (denormalizzati)
LDBL_MANT_DIG 53 N. di bit nel significando (mantissa)
LDBL_MAX 1,7976931348623158e+308 Valore massimo
LDBL_MAX_10_EXP 308 Esponente decimale massimo
LDBL_MAX_EXP 1024 Esponente binario massimo
LDBL_MIN 2,2250738585072014e-308 Valore positivo normalizzato minimo
LDBL_MIN_10_EXP (-307) Esponente decimale minimo
LDBL_MIN_EXP (-1021) Esponente binario minimo
_LDBL_RADIX 2 Base dell'esponente
LDBL_TRUE_MIN 4.9406564584124654e-324 Valore subnormale positivo minimo
DECIMAL_DIG uguale a DBL_DECIMAL_DIG Cifre decimali (double) predefinite di approssimazione di arrotondamento

Vedi anche

Costanti globali