| description | Learn more about: Data Type Constants | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| title | Data Type Constants | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ms.date | 06/25/2018 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| f1_keywords |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| helpviewer_keywords |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ms.assetid | c0f1c405-0465-41d5-b5ff-e81cdb6f1622 |
Data type constants are implementation-dependent ranges of values allowed for integral and floating-point data types.
These constants give the ranges for the integral data types. To use these constants, include the limits.h header in your source file:
#include <limits.h>Note
The /J compiler option changes the default char type from signed char to unsigned char.
| Constant | Value | Description |
|---|---|---|
| CHAR_BIT | 8 | Number of bits in a char |
| SCHAR_MIN | (-128) | Minimum signed char value |
| SCHAR_MAX | 127 | Maximum signed char value |
| UCHAR_MAX | 255 (0xff) | Maximum unsigned char value |
| CHAR_MIN | (-128) (0 if /J option used) |
Minimum char value |
| CHAR_MAX | 127 (255 if /J option used) |
Maximum char value |
| MB_LEN_MAX | 5 | Maximum number of bytes in multibyte char |
| SHRT_MIN | -32768 | Minimum signed short value |
| SHRT_MAX | 32767 | Maximum signed short value |
| USHRT_MAX | 65535 (0xffff) | Maximum unsigned short value |
| INT_MIN | (-2147483647 - 1) | Minimum signed int value |
| INT_MAX | 2147483647 | Maximum signed int value |
| UINT_MAX | 4294967295 (0xffffffff) | Maximum unsigned int value |
| LONG_MIN | (-2147483647L - 1) | Minimum signed long value |
| LONG_MAX | 2147483647L | Maximum signed long value |
| ULONG_MAX | 4294967295UL (0xfffffffful) | Maximum unsigned long value |
| LLONG_MIN | (-9223372036854775807LL - 1) | Minimum signed long long or __int64 value |
| LLONG_MAX | 9223372036854775807LL | Maximum signed long long or __int64 value |
| ULLONG_MAX | 0xffffffffffffffffull | Maximum unsigned long long value |
| _I8_MIN | (-127i8 - 1) | Minimum signed 8-bit value |
| _I8_MAX | 127i8 | Maximum signed 8-bit value |
| _UI8_MAX | 0xffui8 | Maximum unsigned 8-bit value |
| _I16_MIN | (-32767i16 - 1) | Minimum signed 16-bit value |
| _I16_MAX | 32767i16 | Maximum signed 16-bit value |
| _UI16_MAX | 0xffffui16 | Maximum unsigned 16-bit value |
| _I32_MIN | (-2147483647i32 - 1) | Minimum signed 32-bit value |
| _I32_MAX | 2147483647i32 | Maximum signed 32-bit value |
| _UI32_MAX | 0xffffffffui32 | Maximum unsigned 32-bit value |
| _I64_MIN | (-9223372036854775807 - 1) | Minimum signed 64-bit value |
| _I64_MAX | 9223372036854775807 | Maximum signed 64-bit value |
| _UI64_MAX | 0xffffffffffffffffui64 | Maximum unsigned 64-bit value |
| _I128_MIN | (-170141183460469231731687303715884105727i128 - 1) | Minimum signed 128-bit value |
| _I128_MAX | 170141183460469231731687303715884105727i128 | Maximum signed 128-bit value |
| _UI128_MAX | 0xffffffffffffffffffffffffffffffffui128 | Maximum unsigned 128-bit value |
| SIZE_MAX | same as _UI64_MAX if _WIN64 is defined, or UINT_MAX | Maximum native integer size |
| RSIZE_MAX | same as (SIZE_MAX >> 1) | Maximum secure library integer size |
The following constants give the range and other characteristics of the long double, double and float data types. To use these constants, include the float.h header in your source file:
#include <float.h>| Constant | Value | Description |
|---|---|---|
| DBL_DECIMAL_DIG | 17 | # of decimal digits of rounding precision |
| DBL_DIG | 15 | # of decimal digits of precision |
| DBL_EPSILON | 2.2204460492503131e-016 | Smallest such that 1.0 + DBL_EPSILON != 1.0 |
| DBL_HAS_SUBNORM | 1 | Type supports subnormal (denormal) numbers |
| DBL_MANT_DIG | 53 | # of bits in significand (mantissa) |
| DBL_MAX | 1.7976931348623158e+308 | Maximum value |
| DBL_MAX_10_EXP | 308 | Maximum decimal exponent |
| DBL_MAX_EXP | 1024 | Maximum binary exponent |
| DBL_MIN | 2.2250738585072014e-308 | Minimum normalized positive value |
| DBL_MIN_10_EXP | (-307) | Minimum decimal exponent |
| DBL_MIN_EXP | (-1021) | Minimum binary exponent |
| _DBL_RADIX | 2 | Exponent radix |
| DBL_TRUE_MIN | 4.9406564584124654e-324 | Minimum positive subnormal value |
| FLT_DECIMAL_DIG | 9 | Number of decimal digits of rounding precision |
| FLT_DIG | 6 | Number of decimal digits of precision |
| FLT_EPSILON | 1.192092896e-07F | Smallest such that 1.0 + FLT_EPSILON != 1.0 |
| FLT_HAS_SUBNORM | 1 | Type supports subnormal (denormal) numbers |
| FLT_MANT_DIG | 24 | Number of bits in significand (mantissa) |
| FLT_MAX | 3.402823466e+38F | Maximum value |
| FLT_MAX_10_EXP | 38 | Maximum decimal exponent |
| FLT_MAX_EXP | 128 | Maximum binary exponent |
| FLT_MIN | 1.175494351e-38F | Minimum normalized positive value |
| FLT_MIN_10_EXP | (-37) | Minimum decimal exponent |
| FLT_MIN_EXP | (-125) | Minimum binary exponent |
| FLT_RADIX | 2 | Exponent radix |
| FLT_TRUE_MIN | 1.401298464e-45F | Minimum positive subnormal value |
| LDBL_DIG | 15 | # of decimal digits of precision |
| LDBL_EPSILON | 2.2204460492503131e-016 | Smallest such that 1.0 + LDBL_EPSILON != 1.0 |
| LDBL_HAS_SUBNORM | 1 | Type supports subnormal (denormal) numbers |
| LDBL_MANT_DIG | 53 | # of bits in significand (mantissa) |
| LDBL_MAX | 1.7976931348623158e+308 | Maximum value |
| LDBL_MAX_10_EXP | 308 | Maximum decimal exponent |
| LDBL_MAX_EXP | 1024 | Maximum binary exponent |
| LDBL_MIN | 2.2250738585072014e-308 | Minimum normalized positive value |
| LDBL_MIN_10_EXP | (-307) | Minimum decimal exponent |
| LDBL_MIN_EXP | (-1021) | Minimum binary exponent |
| _LDBL_RADIX | 2 | Exponent radix |
| LDBL_TRUE_MIN | 4.9406564584124654e-324 | Minimum positive subnormal value |
| DECIMAL_DIG | same as DBL_DECIMAL_DIG | Default (double) decimal digits of rounding precision |