Skip to content

Latest commit

 

History

History
114 lines (102 loc) · 9.91 KB

data-type-constants.md

File metadata and controls

114 lines (102 loc) · 9.91 KB
description title ms.date f1_keywords helpviewer_keywords
Learn more about: Data Type Constants
Data Type Constants
06/25/2018
CHAR_BIT
SCHAR_MIN
SCHAR_MAX
UCHAR_MAX
CHAR_MIN
CHAR_MAX
MB_LEN_MAX
SHRT_MIN
SHRT_MAX
USHRT_MAX
INT_MIN
INT_MAX
UINT_MAX
LONG_MIN
LONG_MAX
ULONG_MAX
LLONG_MIN
LLONG_MAX
ULLONG_MAX
_I8_MIN
_I8_MAX
_UI8_MAX
_I16_MIN
_I16_MAX
_UI16_MAX
_I32_MIN
_I32_MAX
_UI32_MAX
_I64_MIN
_I64_MAX
_UI64_MAX
_I128_MIN
_I128_MAX
_UI128_MAX
SIZE_MAX
RSIZE_MAX
LIMITS/CHAR_BIT
LIMITS/SCHAR_MIN
LIMITS/SCHAR_MAX
LIMITS/UCHAR_MAX
LIMITS/CHAR_MIN
LIMITS/CHAR_MAX
LIMITS/MB_LEN_MAX
LIMITS/SHRT_MIN
LIMITS/SHRT_MAX
LIMITS/USHRT_MAX
LIMITS/INT_MIN
LIMITS/INT_MAX
LIMITS/UINT_MAX
LIMITS/LONG_MIN
LIMITS/LONG_MAX
LIMITS/ULONG_MAX
LIMITS/LLONG_MIN
LIMITS/LLONG_MAX
LIMITS/ULLONG_MAX
LIMITS/_I8_MIN
LIMITS/_I8_MAX
LIMITS/_UI8_MAX
LIMITS/_I16_MIN
LIMITS/_I16_MAX
LIMITS/_UI16_MAX
LIMITS/_I32_MIN
LIMITS/_I32_MAX
LIMITS/_UI32_MAX
LIMITS/_I64_MIN
LIMITS/_I64_MAX
LIMITS/_UI64_MAX
LIMITS/_I128_MIN
LIMITS/_I128_MAX
LIMITS/_UI128_MAX
LIMITS/SIZE_MAX
LIMITS/RSIZE_MAX
DBL_DECIMAL_DIG
DBL_DIG
DBL_EPSILON
DBL_HAS_SUBNORM
DBL_MANT_DIG
DBL_MAX
DBL_MAX_10_EXP
DBL_MAX_EXP
DBL_MIN
DBL_MIN_10_EXP
DBL_MIN_EXP
_DBL_RADIX
DBL_TRUE_MIN
FLT_DECIMAL_DIG
FLT_DIG
FLT_EPSILON
FLT_HAS_SUBNORM
FLT_MANT_DIG
FLT_MAX
FLT_MAX_10_EXP
FLT_MAX_EXP
FLT_MIN
FLT_MIN_10_EXP
FLT_MIN_EXP
FLT_RADIX
FLT_TRUE_MIN
LDBL_DIG
LDBL_EPSILON
LDBL_HAS_SUBNORM
LDBL_MANT_DIG
LDBL_MAX
LDBL_MAX_10_EXP
LDBL_MAX_EXP
LDBL_MIN
LDBL_MIN_10_EXP
LDBL_MIN_EXP
_LDBL_RADIX
LDBL_TRUE_MIN
DECIMAL_DIG
FLOAT/DBL_DECIMAL_DIG
FLOAT/DBL_DIG
FLOAT/DBL_EPSILON
FLOAT/DBL_HAS_SUBNORM
FLOAT/DBL_MANT_DIG
FLOAT/DBL_MAX
FLOAT/DBL_MAX_10_EXP
FLOAT/DBL_MAX_EXP
FLOAT/DBL_MIN
FLOAT/DBL_MIN_10_EXP
FLOAT/DBL_MIN_EXP
FLOAT/_DBL_RADIX
FLOAT/DBL_TRUE_MIN
FLOAT/FLT_DECIMAL_DIG
FLOAT/FLT_DIG
FLOAT/FLT_EPSILON
FLOAT/FLT_HAS_SUBNORM
FLOAT/FLT_MANT_DIG
FLOAT/FLT_MAX
FLOAT/FLT_MAX_10_EXP
FLOAT/FLT_MAX_EXP
FLOAT/FLT_MIN
FLOAT/FLT_MIN_10_EXP
FLOAT/FLT_MIN_EXP
FLOAT/FLT_RADIX
FLOAT/FLT_TRUE_MIN
FLOAT/LDBL_DIG
FLOAT/LDBL_EPSILON
FLOAT/LDBL_HAS_SUBNORM
FLOAT/LDBL_MANT_DIG
FLOAT/LDBL_MAX
FLOAT/LDBL_MAX_10_EXP
FLOAT/LDBL_MAX_EXP
FLOAT/LDBL_MIN
FLOAT/LDBL_MIN_10_EXP
FLOAT/LDBL_MIN_EXP
FLOAT/_LDBL_RADIX
FLOAT/LDBL_TRUE_MIN
FLOAT/DECIMAL_DIG
DBL_MAX_EXP constant
_DBL_RADIX constant
FLT_MIN_EXP constant
DBL_EPSILON constant
INT_MIN constant
FLT_EPSILON constant
DBL_MANT_DIG constant
_FLT_RADIX constant
DBL_MIN constant
USHRT_MAX constant
FLT_MAX_10_EXP constant
_FLT_ROUNDS constant
data type constants [C++]
_DBL_ROUNDS constant
CHAR_MAX constant
FLT_MAX_EXP constant
FLT_MIN constant
CHAR_MIN constant
FLT_MIN_10_EXP constant
DBL_MIN_EXP constant
SCHAR_MAX constant
FLT_RADIX constant
CHAR_BIT constant
UCHAR_MAX constant
DBL_RADIX constant
FLT_ROUNDS constant
LONG_MIN constant
SHRT_MAX constant
LONG_MAX constant
DBL_MAX_10_EXP constant
DBL_MIN_10_EXP constant
INT_MAX constant
constants [C++], data type
ULONG_MAX constant
FLT_DIG constant
MB_LEN_MAX constant
DBL_DIG constant
SHRT_MIN constant
DBL_MAX constant
DBL_ROUNDS constant
FLT_MAX constant
UINT_MAX constant
FLT_MANT_DIG constant
SCHAR_MIN constant
LLONG_MIN constant
LLONG_MAX constant
ULLONG_MAX constant
_I8_MIN constant
_I8_MAX constant
_UI8_MAX constant
_I16_MIN constant
_I16_MAX constant
_UI16_MAX constant
_I32_MIN constant
_I32_MAX constant
_UI32_MAX constant
_I64_MIN constant
_I64_MAX constant
_UI64_MAX constant
_I128_MIN constant
_I128_MAX constant
_UI128_MAX constant
SIZE_MAX constant
RSIZE_MAX constant

Data type constants

Data type constants are implementation-dependent ranges of values allowed for integral and floating-point data types.

Integral type constants

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

Floating-point type constants

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

See also

Global constants