Compartilhar via


Constantes de tipo de dados

Constantes de tipo de dados são intervalos de valores dependentes de implementação permitidos para tipos de dados integrais e de ponto flutuante.

Constantes de tipo integral

Essas constantes oferecem os intervalos para os tipos de dados integrais. Para usar essas constantes, inclua o cabeçalho limits.h em seu arquivo de origem:

#include <limits.h>

Observação

A opção do compilador /J altera o tipo char padrão de signed char para unsigned char.

Constante Valor Descrição
CHAR_BIT 8 O número de bits em um char
SCHAR_MIN (-128) Valor signed char Mínimo
SCHAR_MAX 127 Valor signed char Máximo
UCHAR_MAX 255 (0xff) Valor unsigned char Máximo
CHAR_MIN (-128) (0 se a opção /J for usada) Valor char Mínimo
CHAR_MAX 127 (255 se a opção /J for usada) Valor char Máximo
MB_LEN_MAX 5 O número máximo de bytes em um multibyte char
SHRT_MIN -32768 Valor signed short Mínimo
SHRT_MAX 32767 Valor signed short Máximo
USHRT_MAX 65535 (0xffff) Valor unsigned short Máximo
INT_MIN (-2147483647 - 1) Valor signed int Mínimo
INT_MAX 2147483647 Valor signed int Máximo
UINT_MAX 4294967295 (0xffffffff) Valor unsigned int Máximo
LONG_MIN (-2147483647L - 1) Valor signed long Mínimo
LONG_MAX 2147483647L Valor signed long Máximo
ULONG_MAX 4294967295UL (0xfffffffful) Valor unsigned long Máximo
LLONG_MIN (-9223372036854775807LL - 1) Valor mínimo signed long long ou __int64
LLONG_MAX 9223372036854775807LL Valor máximo signed long long ou __int64
ULLONG_MAX 0xffffffffffffffffull Valor unsigned long long Máximo
_I8_MIN (-127i8 - 1) Valor mínimo de 8 bits com sinal
_I8_MAX 127i8 Valor máximo de 8 bits com sinal
_UI8_MAX 0xffui8 Valor máximo de 8 bits sem sinal
_I16_MIN (-32767i16 - 1) Valor mínimo de 16 bits com sinal
_I16_MAX 32767i16 Valor máximo de 16 bits com sinal
_UI16_MAX 0xffffui16 Valor máximo de 16 bits sem sinal
_I32_MIN (-2147483647i32 - 1) Valor mínimo de 32 bits com sinal
_I32_MAX 2147483647i32 Valor máximo de 32 bits com sinal
_UI32_MAX 0xffffffffui32 Valor máximo de 32 bits sem sinal
_I64_MIN (-9223372036854775807 - 1) Valor mínimo de 64 bits com sinal
_I64_MAX 9223372036854775807 Valor máximo de 64 bits com sinal
_UI64_MAX 0xffffffffffffffffui64 Valor máximo de 64 bits sem sinal
_I128_MIN (-170141183460469231731687303715884105727i128 - 1) Valor mínimo de 128 bits com sinal
_I128_MAX 170141183460469231731687303715884105727i128 Valor máximo de 128 bits com sinal
_UI128_MAX 0xffffffffffffffffffffffffffffffffui128 Valor máximo de 128 bits sem sinal
SIZE_MAX o mesmo que _UI64_MAX se _WIN64 for definido, ou UINT_MAX Tamanho máximo de inteiro nativo
RSIZE_MAX o mesmo que (SIZE_MAX>> 1) Tamanho de inteiro máximo de biblioteca segura

Constantes de tipo de ponto flutuante

As constantes a seguir fornecem o intervalo e outras características dos tipos de dados long double, double e float. Para usar essas constantes, inclua o cabeçalho float.h em seu arquivo de origem:

#include <float.h>
Constante Valor Descrição
DBL_DECIMAL_DIG 17 Nº de dígitos decimais de precisão de arredondamento
DBL_DIG 15 Nº de casas decimais de precisão
DBL_EPSILON 2.2204460492503131e-016 O menor valor, de forma que 1,0 + DBL_EPSILON != 1,0
DBL_HAS_SUBNORM 1 Tipo é compatível com números subnormais (desnormalizados)
DBL_MANT_DIG 53 n º de bits no significando (mantissa)
DBL_MAX 1,7976931348623158e+308 Valor máximo
DBL_MAX_10_EXP 308 Expoente decimal máximo
DBL_MAX_EXP 1024 Expoente binário máximo
DBL_MIN 2,2250738585072014e-308 Valor mínimo normalizado positivo
DBL_MIN_10_EXP (-307) Expoente decimal mínimo
DBL_MIN_EXP (-1021) Expoente binário mínimo
_DBL_RADIX 2 Expoente base
DBL_TRUE_MIN 4,9406564584124654e-324 Valor mínimo subnormal positivo
FLT_DECIMAL_DIG 9 Número de dígitos decimais de precisão do arredondamento
FLT_DIG 6 Número de dígitos decimais de precisão
FLT_EPSILON 1.192092896e-07F O menor valor, de forma que 1,0 + FLT_EPSILON != 1,0
FLT_HAS_SUBNORM 1 Tipo é compatível com números subnormais (desnormalizados)
FLT_MANT_DIG 24 Número de bits no significando (mantissa)
FLT_MAX 3.402823466e+38F Valor máximo
FLT_MAX_10_EXP 38 Expoente decimal máximo
FLT_MAX_EXP 128 Expoente binário máximo
FLT_MIN 1.175494351e-38F Valor mínimo normalizado positivo
FLT_MIN_10_EXP (-37) Expoente decimal mínimo
FLT_MIN_EXP (-125) Expoente binário mínimo
FLT_RADIX 2 Expoente base
FLT_TRUE_MIN 1,401298464e-45F Valor mínimo subnormal positivo
LDBL_DIG 15 Nº de casas decimais de precisão
LDBL_EPSILON 2.2204460492503131e-016 O menor valor, de forma que 1,0 + LDBL_EPSILON != 1,0
LDBL_HAS_SUBNORM 1 Tipo é compatível com números subnormais (desnormalizados)
LDBL_MANT_DIG 53 n º de bits no significando (mantissa)
LDBL_MAX 1,7976931348623158e+308 Valor máximo
LDBL_MAX_10_EXP 308 Expoente decimal máximo
LDBL_MAX_EXP 1024 Expoente binário máximo
LDBL_MIN 2,2250738585072014e-308 Valor mínimo normalizado positivo
LDBL_MIN_10_EXP (-307) Expoente decimal mínimo
LDBL_MIN_EXP (-1021) Expoente binário mínimo
_LDBL_RADIX 2 Expoente base
LDBL_TRUE_MIN 4,9406564584124654e-324 Valor mínimo subnormal positivo
DECIMAL_DIG mesmo que DBL_DECIMAL_DIG Padrão (duplo) de casas decimais de precisão de arredondamento

Confira também

Constantes globais