avr_stdint - <stdint.h>: Standard Integer Types
Contents
Detailed Description
#include <stdint.h>
Use [u]intN_t if you need exactly N bits.
Since these typedefs are mandated by the C99 standard, they are preferred over rolling your own typedefs.
Macro Definition Documentation
#defineINT16_C(value)value
define a constant of type int16_t
#defineINT16_MAX0x7fff
largest positive value an int16_t can hold.
#defineINT16_MIN(-INT16_MAX-1)
smallest negative value an int16_t can hold.
#defineINT32_C(value)__CONCAT(value,L)
define a constant of type int32_t
#defineINT32_MAX0x7fffffffL
largest positive value an int32_t can hold.
#defineINT32_MIN(-INT32_MAX-1L)
smallest negative value an int32_t can hold.
#defineINT64_C(value)__CONCAT(value,LL)
define a constant of type int64_t
#defineINT64_MAX0x7fffffffffffffffLL
largest positive value an int64_t can hold.
#defineINT64_MIN(-INT64_MAX-1LL)
smallest negative value an int64_t can hold.
#defineINT8_C(value)((int8_t)value)
define a constant of type int8_t
#defineINT8_MAX0x7f
largest positive value an int8_t can hold.
#defineINT8_MIN(-INT8_MAX-1)
smallest negative value an int8_t can hold.
#defineINT_FAST16_MAXINT16_MAX
largest positive value an int_fast16_t can hold.
#defineINT_FAST16_MININT16_MIN
smallest negative value an int_fast16_t can hold.
#defineINT_FAST32_MAXINT32_MAX
largest positive value an int_fast32_t can hold.
#defineINT_FAST32_MININT32_MIN
smallest negative value an int_fast32_t can hold.
#defineINT_FAST64_MAXINT64_MAX
largest positive value an int_fast64_t can hold.
#defineINT_FAST64_MININT64_MIN
smallest negative value an int_fast64_t can hold.
#defineINT_FAST8_MAXINT8_MAX
largest positive value an int_fast8_t can hold.
#defineINT_FAST8_MININT8_MIN
smallest negative value an int_fast8_t can hold.
#defineINT_LEAST16_MAXINT16_MAX
largest positive value an int_least16_t can hold.
#defineINT_LEAST16_MININT16_MIN
smallest negative value an int_least16_t can hold.
#defineINT_LEAST32_MAXINT32_MAX
largest positive value an int_least32_t can hold.
#defineINT_LEAST32_MININT32_MIN
smallest negative value an int_least32_t can hold.
#defineINT_LEAST64_MAXINT64_MAX
largest positive value an int_least64_t can hold.
#defineINT_LEAST64_MININT64_MIN
smallest negative value an int_least64_t can hold.
#defineINT_LEAST8_MAXINT8_MAX
largest positive value an int_least8_t can hold.
#defineINT_LEAST8_MININT8_MIN
smallest negative value an int_least8_t can hold.
#defineINTMAX_C(value)__CONCAT(value,LL)
define a constant of type intmax_t
#defineINTMAX_MAXINT64_MAX
largest positive value an intmax_t can hold.
#defineINTMAX_MININT64_MIN
smallest negative value an intmax_t can hold.
#defineINTPTR_MAXINT16_MAX
largest positive value an intptr_t can hold.
#defineINTPTR_MININT16_MIN
smallest negative value an intptr_t can hold.
#definePTRDIFF_MAXINT16_MAX
largest positive value a ptrdiff_t can hold.
#definePTRDIFF_MININT16_MIN
smallest negative value a ptrdiff_t can hold.
#defineSIG_ATOMIC_MAXINT8_MAX
largest positive value a sig_atomic_t can hold.
#defineSIG_ATOMIC_MININT8_MIN
smallest negative value a sig_atomic_t can hold.
#defineSIZE_MAXUINT16_MAX
largest value a size_t can hold.
#defineUINT16_C(value)__CONCAT(value,U)
define a constant of type uint16_t
#defineUINT16_MAX(__CONCAT(INT16_MAX,U)*2U+1U)
largest value an uint16_t can hold.
#defineUINT32_C(value)__CONCAT(value,UL)
define a constant of type uint32_t
#defineUINT32_MAX(__CONCAT(INT32_MAX,U)*2UL+1UL)
largest value an uint32_t can hold.
#defineUINT64_C(value)__CONCAT(value,ULL)
define a constant of type uint64_t
#defineUINT64_MAX(__CONCAT(INT64_MAX,U)*2ULL+1ULL)
largest value an uint64_t can hold.
#defineUINT8_C(value)((uint8_t)__CONCAT(value,U))
define a constant of type uint8_t
#defineUINT8_MAX(INT8_MAX*2+1)
largest value an uint8_t can hold.
#defineUINT_FAST16_MAXUINT16_MAX
largest value an uint_fast16_t can hold.
#defineUINT_FAST32_MAXUINT32_MAX
largest value an uint_fast32_t can hold.
#defineUINT_FAST64_MAXUINT64_MAX
largest value an uint_fast64_t can hold.
#defineUINT_FAST8_MAXUINT8_MAX
largest value an uint_fast8_t can hold.
#defineUINT_LEAST16_MAXUINT16_MAX
largest value an uint_least16_t can hold.
#defineUINT_LEAST32_MAXUINT32_MAX
largest value an uint_least32_t can hold.
#defineUINT_LEAST64_MAXUINT64_MAX
largest value an uint_least64_t can hold.
#defineUINT_LEAST8_MAXUINT8_MAX
largest value an uint_least8_t can hold.
#defineUINTMAX_C(value)__CONCAT(value,ULL)
define a constant of type uintmax_t
#defineUINTMAX_MAXUINT64_MAX
largest value an uintmax_t can hold.
#defineUINTPTR_MAXUINT16_MAX
largest value an uintptr_t can hold.
Name
avr_stdint - <stdint.h>: Standard Integer Types
Synopsis
Exact-widthintegertypes
Integer types having exactly the specified width
typedef signed char int8_t
typedef unsigned char uint8_t
typedef signed int int16_t
typedef unsigned int uint16_t
typedef signed long int int32_t
typedef unsigned long int uint32_t
typedef signed long long int int64_t
typedef unsigned long long int uint64_tIntegertypescapableofholdingobjectpointers
These allow you to declare variables of the same size as a pointer.
typedef int16_tintptr_t
typedef uint16_tuintptr_tMinimum-widthintegertypes
Integer types having at least the specified width
typedef int8_tint_least8_t
typedef uint8_tuint_least8_t
typedef int16_tint_least16_t
typedef uint16_tuint_least16_t
typedef int32_tint_least32_t
typedef uint32_tuint_least32_t
typedef int64_tint_least64_t
typedef uint64_tuint_least64_tFastestminimum-widthintegertypes
Integer types being usually fastest having at least the specified width
typedef int8_tint_fast8_t
typedef uint8_tuint_fast8_t
typedef int16_tint_fast16_t
typedef uint16_tuint_fast16_t
typedef int32_tint_fast32_t
typedef uint32_tuint_fast32_t
typedef int64_tint_fast64_t
typedef uint64_tuint_fast64_tGreatest-widthintegertypes
Types designating integer data capable of representing any value of any integer type in the corresponding
signed or unsigned category
typedef int64_tintmax_t
typedef uint64_tuintmax_tLimitsofspecified-widthintegertypes
C++ implementations should define these macros only when __STDC_LIMIT_MACROS is defined before <stdint.h>
is included
#define INT8_MAX 0x7f
#define INT8_MIN (-INT8_MAX - 1)
#define UINT8_MAX (INT8_MAX * 2 + 1)
#define INT16_MAX 0x7fff
#define INT16_MIN (-INT16_MAX - 1)
#define UINT16_MAX (__CONCAT(INT16_MAX, U) * 2U + 1U)
#define INT32_MAX 0x7fffffffL
#define INT32_MIN (-INT32_MAX - 1L)
#define UINT32_MAX (__CONCAT(INT32_MAX, U) * 2UL + 1UL)
#define INT64_MAX 0x7fffffffffffffffLL
#define INT64_MIN (-INT64_MAX - 1LL)
#define UINT64_MAX (__CONCAT(INT64_MAX, U) * 2ULL + 1ULL)
Limitsofminimum-widthintegertypes
#define INT_LEAST8_MAXINT8_MAX
#define INT_LEAST8_MININT8_MIN
#define UINT_LEAST8_MAXUINT8_MAX
#define INT_LEAST16_MAXINT16_MAX
#define INT_LEAST16_MININT16_MIN
#define UINT_LEAST16_MAXUINT16_MAX
#define INT_LEAST32_MAXINT32_MAX
#define INT_LEAST32_MININT32_MIN
#define UINT_LEAST32_MAXUINT32_MAX
#define INT_LEAST64_MAXINT64_MAX
#define INT_LEAST64_MININT64_MIN
#define UINT_LEAST64_MAXUINT64_MAXLimitsoffastestminimum-widthintegertypes
#define INT_FAST8_MAXINT8_MAX
#define INT_FAST8_MININT8_MIN
#define UINT_FAST8_MAXUINT8_MAX
#define INT_FAST16_MAXINT16_MAX
#define INT_FAST16_MININT16_MIN
#define UINT_FAST16_MAXUINT16_MAX
#define INT_FAST32_MAXINT32_MAX
#define INT_FAST32_MININT32_MIN
#define UINT_FAST32_MAXUINT32_MAX
#define INT_FAST64_MAXINT64_MAX
#define INT_FAST64_MININT64_MIN
#define UINT_FAST64_MAXUINT64_MAXLimitsofintegertypescapableofholdingobjectpointers
#define INTPTR_MAXINT16_MAX
#define INTPTR_MININT16_MIN
#define UINTPTR_MAXUINT16_MAXLimitsofgreatest-widthintegertypes
#define INTMAX_MAXINT64_MAX
#define INTMAX_MININT64_MIN
#define UINTMAX_MAXUINT64_MAXLimitsofotherintegertypes
C++ implementations should define these macros only when __STDC_LIMIT_MACROS is defined before <stdint.h>
is included
#define PTRDIFF_MAXINT16_MAX
#define PTRDIFF_MININT16_MIN
#define SIG_ATOMIC_MAXINT8_MAX
#define SIG_ATOMIC_MININT8_MIN
#define SIZE_MAXUINT16_MAX
#define WCHAR_MAX __WCHAR_MAX__
#define WCHAR_MIN __WCHAR_MIN__
#define WINT_MAX __WINT_MAX__
#define WINT_MIN __WINT_MIN__
Macrosforintegerconstants
C++ implementations should define these macros only when __STDC_CONSTANT_MACROS is defined before
<stdint.h> is included.
These definitions are valid for integer constants without suffix and for macros defined as integer
constant without suffix
#define INT8_C(value) ((int8_t) value)
#define UINT8_C(value) ((uint8_t) __CONCAT(value, U))
#define INT16_C(value) value
#define UINT16_C(value) __CONCAT(value, U)
#define INT32_C(value) __CONCAT(value, L)
#define UINT32_C(value) __CONCAT(value, UL)
#define INT64_C(value) __CONCAT(value, LL)
#define UINT64_C(value) __CONCAT(value, ULL)
#define INTMAX_C(value) __CONCAT(value, LL)
#define UINTMAX_C(value) __CONCAT(value, ULL)
Typedef Documentation
typedefsignedintint16_t
16-bit signed type.
typedefsignedlongintint32_t
32-bit signed type.
typedefsignedlonglongintint64_t
64-bit signed type.
Note
This type is not available when the compiler option -mint8 is in effect.
typedefsignedcharint8_t
8-bit signed type.
typedefint16_tint_fast16_t
fastest signed int with at least 16 bits.
typedefint32_tint_fast32_t
fastest signed int with at least 32 bits.
typedefint64_tint_fast64_t
fastest signed int with at least 64 bits.
Note
This type is not available when the compiler option -mint8 is in effect.
typedefint8_tint_fast8_t
fastest signed int with at least 8 bits.
typedefint16_tint_least16_t
signed int with at least 16 bits.
typedefint32_tint_least32_t
signed int with at least 32 bits.
typedefint64_tint_least64_t
signed int with at least 64 bits.
Note
This type is not available when the compiler option -mint8 is in effect.
typedefint8_tint_least8_t
signed int with at least 8 bits.
typedefint64_tintmax_t
largest signed int available.
typedefint16_tintptr_t
Signed pointer compatible type.
typedefunsignedintuint16_t
16-bit unsigned type.
typedefunsignedlongintuint32_t
32-bit unsigned type.
typedefunsignedlonglongintuint64_t
64-bit unsigned type.
Note
This type is not available when the compiler option -mint8 is in effect.
typedefunsignedcharuint8_t
8-bit unsigned type.
typedefuint16_tuint_fast16_t
fastest unsigned int with at least 16 bits.
typedefuint32_tuint_fast32_t
fastest unsigned int with at least 32 bits.
typedefuint64_tuint_fast64_t
fastest unsigned int with at least 64 bits.
Note
This type is not available when the compiler option -mint8 is in effect.
typedefuint8_tuint_fast8_t
fastest unsigned int with at least 8 bits.
typedefuint16_tuint_least16_t
unsigned int with at least 16 bits.
typedefuint32_tuint_least32_t
unsigned int with at least 32 bits.
typedefuint64_tuint_least64_t
unsigned int with at least 64 bits.
Note
This type is not available when the compiler option -mint8 is in effect.
typedefuint8_tuint_least8_t
unsigned int with at least 8 bits.
typedefuint64_tuintmax_t
largest unsigned int available.
typedefuint16_tuintptr_t
Unsigned pointer compatible type.
