The <stdint.h> Header File

C99-compatible integer types with a fixed size in bits

Functions

INT16_C
Appends the correct suffix to a 16-bit signed integer literal.
INT32_C
Appends the correct suffix to a 32-bit signed integer literal.
INT64_C
Appends the correct suffix to a 64-bit signed integer literal.
INT8_C
Appends the correct suffix to an 8-bit signed integer literal.
INTMAX_C
Appends the correct suffix to a maximally-sized signed integer literal.
UINT16_C
Appends the correct suffix to a 16-bit unsigned integer literal.
UINT32_C
Appends the correct suffix to a 32-bit unsigned integer literal.
UINT64_C
Appends the correct suffix to a 64-bit unsigned integer literal.
UINT8_C
Appends the correct suffix to an 8-bit unsigned integer literal.
UINTMAX_C
Appends the correct suffix to a maximally-sized unsigned integer literal.

Constants

INT_FAST16_MAX
Maximum value of our int_fast16_t type.
INT_FAST16_MIN
Minimum value of our int_fast16_t type.
INT_FAST32_MAX
Maximum value of our int_fast32_t type.
INT_FAST32_MIN
Minimum value of our int_fast32_t type.
INT_FAST64_MAX
Maximum value of our int_fast64_t type.
INT_FAST64_MIN
Minimum value of our int_fast64_t type.
INT_FAST8_MAX
Maximum value of our int_fast8_t type.
INT_FAST8_MIN
Minimum value of our int_fast8_t type.
INT_LEAST16_MAX
Maximum value of our int_least16_t type.
INT_LEAST16_MIN
Minimum value of our int_least16_t type.
INT_LEAST32_MAX
Maximum value of our int_least32_t type.
INT_LEAST32_MIN
Minimum value of our int_least32_t type.
INT_LEAST64_MAX
Maximum value of our int_least64_t type.
INT_LEAST64_MIN
Minimum value of our int_least64_t type.
INT_LEAST8_MAX
Maximum value of our int_least8_t type.
INT_LEAST8_MIN
Minimum value of our int_least8_t type.
INT16_MAX
Maximum value of a signed 16-bit integer.
INT16_MIN
Minimum value of a signed 16-bit integer.
INT32_MAX
Maximum value of a signed 32-bit integer.
INT32_MIN
Minimum value of a signed 32-bit integer.
INT64_MAX
Maximum value of a signed 64-bit integer.
INT64_MIN
Minimum value of a signed 64-bit integer.
INT8_MAX
Maximum value of a signed 8-bit integer.
INT8_MIN
Minimum value of a signed 8-bit integer.
INTMAX_MAX
Maximum value of our intmax_t type.
INTMAX_MIN
Minimum value of our intmax_t type.
INTPTR_MAX
Maximum value of our intptr_t type.
INTPTR_MIN
Minimum value of our intptr_t type.
UINT_FAST16_MAX
Maximum value of our uint_fast16_t type.
UINT_FAST32_MAX
Maximum value of our uint_fast32_t type.
UINT_FAST64_MAX
Maximum value of our uint_fast64_t type.
UINT_FAST8_MAX
Maximum value of our uint_fast8_t type.
UINT_LEAST16_MAX
Maximum value of our uint_least16_t type.
UINT_LEAST32_MAX
Maximum value of our uint_least32_t type.
UINT_LEAST64_MAX
Maximum value of our uint_least64_t type.
UINT_LEAST8_MAX
Maximum value of our uint_least8_t type.
UINT16_MAX
Maximum value of an unsigned 16-bit integer.
UINT32_MAX
Maximum value of an unsigned 32-bit integer.
UINT64_MAX
Maximum value of an unsigned 64-bit integer.
UINT8_MAX
Maximum value of an unsigned 8-bit integer.
UINTMAX_MAX
Maximum value of our uintmax_t type.
UINTPTR_MAX
Maximum value of our uintptr_t type.

Predefined Types

int_fast16_t
The fastest signed type with at least 16 bits (specified by C99).
int_fast32_t
The fastest signed type with at least 32 bits (specified by C99).
int_fast64_t
The fastest signed type with at least 64 bits (specified by C99).
int_fast8_t
The fastest signed type with at least 8 bits (specified by C99).
int_least16_t
A signed type with at least 16 bits (specified by C99).
int_least32_t
A signed type with at least 32 bits (specified by C99).
int_least64_t
A signed type with at least 64 bits (specified by C99).
int_least8_t
A signed type with at least 8 bits (specified by C99).
int16_t
A 16-bit signed fixed-width type specified by C99.
int32_t
A 32-bit signed fixed-width type specified by C99.
int64_t
A 64-bit signed fixed-width type specified by C99.
int8_t
An 8-bit signed fixed-width type specified by C99.
intmax_t
The largest signed integer on this platform (specified by C99).
intptr_t
A signed integer large enough to hold a void* pointer (specified by C99).
uint_fast16_t
The fastest unsigned type with at least 16 bits (specified by C99).
uint_fast32_t
The fastest unsigned type with at least 32 bits (specified by C99).
uint_fast64_t
The fastest unsigned type with at least 64 bits (specified by C99).
uint_fast8_t
The fastest unsigned type with at least 8 bits (specified by C99).
uint_least16_t
An unsigned type with at least 16 bits (specified by C99).
uint_least32_t
An unsigned type with at least 32 bits (specified by C99).
uint_least64_t
An unsigned type with at least 64 bits (specified by C99).
uint_least8_t
An unsigned type with at least 8 bits (specified by C99).
uint16_t
A 16-bit type unsigned fixed-width type specified by C99.
uint32_t
A 32-bit type unsigned fixed-width type specified by C99.
uint64_t
A 64-bit type unsigned fixed-width type specified by C99.
uint8_t
An 8-bit type unsigned fixed-width type specified by C99.
uintmax_t
The largest unsigned integer on this platform (specified by C99).
uintptr_t
An unsigned integer large enough to hold a void* pointer (specified by C99).

INT16_C

#define INT16_C(c) c

Appends the correct suffix to a 16-bit signed integer literal.

This macro appends the correct suffix for a 16-bit signed integer literal to c.


INT32_C

#define INT32_C(c) c ## L

Appends the correct suffix to a 32-bit signed integer literal.

This macro appends the correct suffix for a 32-bit signed integer literal to c.


INT64_C

#define INT64_C(c) c ## LL

Appends the correct suffix to a 64-bit signed integer literal.

This macro appends the correct suffix for a 64-bit signed integer literal to c.


INT8_C

#define INT8_C(c) c

Appends the correct suffix to an 8-bit signed integer literal.

This macro appends the correct suffix for an 8-bit signed integer literal to c.


INTMAX_C

#define INTMAX_C(c) c ## LL

Appends the correct suffix to a maximally-sized signed integer literal.

This macro appends the correct suffix for a maximally-sized (on the TIGCC platform) signed integer literal to c.


UINT16_C

#define UINT16_C(c) c ## U

Appends the correct suffix to a 16-bit unsigned integer literal.

This macro appends the correct suffix for a 16-bit unsigned integer literal to c.


UINT32_C

#define UINT32_C(c) c ## UL

Appends the correct suffix to a 32-bit unsigned integer literal.

This macro appends the correct suffix for a 32-bit unsigned integer literal to c.


UINT64_C

#define UINT64_C(c) c ## ULL

Appends the correct suffix to a 64-bit unsigned integer literal.

This macro appends the correct suffix for a 64-bit unsigned integer literal to c.


UINT8_C

#define UINT8_C(c) c

Appends the correct suffix to an 8-bit unsigned integer literal.

This macro appends the correct suffix for an 8-bit unsigned integer literal to c.


UINTMAX_C

#define UINTMAX_C(c) c ## ULL

Appends the correct suffix to a maximally-sized unsigned integer literal.

This macro appends the correct suffix for a maximally-sized (on the TIGCC platform) unsigned integer literal to c.


INT_FAST16_MAX

#define INT_FAST16_MAX (32767)

Maximum value of our int_fast16_t type.

This is the maximum value that an int_fast16_t can contain on the TIGCC platform.


INT_FAST16_MIN

#define INT_FAST16_MIN (-32767-1)

Minimum value of our int_fast16_t type.

This is the minimum value that an int_fast16_t can contain on the TIGCC platform.


INT_FAST32_MAX

#define INT_FAST32_MAX (2147483647L)

Maximum value of our int_fast32_t type.

This is the maximum value that an int_fast32_t can contain on the TIGCC platform.


INT_FAST32_MIN

#define INT_FAST32_MIN (-2147483647L-1)

Minimum value of our int_fast32_t type.

This is the minimum value that an int_fast32_t can contain on the TIGCC platform.


INT_FAST64_MAX

#define INT_FAST64_MAX (9223372036854775807LL)

Maximum value of our int_fast64_t type.

This is the maximum value that an int_fast64_t can contain on the TIGCC platform.


INT_FAST64_MIN

#define INT_FAST64_MIN (-9223372036854775807LL-1)

Minimum value of our int_fast64_t type.

This is the minimum value that an int_fast64_t can contain on the TIGCC platform.


INT_FAST8_MAX

#define INT_FAST8_MAX (32767)

Maximum value of our int_fast8_t type.

This is the maximum value that an int_fast8_t can contain on the TIGCC platform.


INT_FAST8_MIN

#define INT_FAST8_MIN (-32767-1)

Minimum value of our int_fast8_t type.

This is the minimum value that an int_fast8_t can contain on the TIGCC platform.


INT_LEAST16_MAX

#define INT_LEAST16_MAX (32767)

Maximum value of our int_least16_t type.

This is the maximum value that an int_least16_t can contain on the TIGCC platform.


INT_LEAST16_MIN

#define INT_LEAST16_MIN (-32767-1)

Minimum value of our int_least16_t type.

This is the minimum value that an int_least16_t can contain on the TIGCC platform.


INT_LEAST32_MAX

#define INT_LEAST32_MAX (2147483647L)

Maximum value of our int_least32_t type.

This is the maximum value that an int_least32_t can contain on the TIGCC platform.


INT_LEAST32_MIN

#define INT_LEAST32_MIN (-2147483647L-1)

Minimum value of our int_least32_t type.

This is the minimum value that an int_least32_t can contain on the TIGCC platform.


INT_LEAST64_MAX

#define INT_LEAST64_MAX (9223372036854775807LL)

Maximum value of our int_least64_t type.

This is the maximum value that an int_least64_t can contain on the TIGCC platform.


INT_LEAST64_MIN

#define INT_LEAST64_MIN (-9223372036854775807LL-1)

Minimum value of our int_least64_t type.

This is the minimum value that an int_least64_t can contain on the TIGCC platform.


INT_LEAST8_MAX

#define INT_LEAST8_MAX (127)

Maximum value of our int_least8_t type.

This is the maximum value that an int_least8_t can contain on the TIGCC platform.


INT_LEAST8_MIN

#define INT_LEAST8_MIN (-128)

Minimum value of our int_least8_t type.

This is the minimum value that an int_least8_t can contain on the TIGCC platform.


INT16_MAX

#define INT16_MAX (32767)

Maximum value of a signed 16-bit integer.

This is the maximum value that a signed 16-bit integer can contain.


INT16_MIN

#define INT16_MIN (-32767-1)

Minimum value of a signed 16-bit integer.

This is the minimum value that a signed 16-bit integer can contain.


INT32_MAX

#define INT32_MAX (2147483647L)

Maximum value of a signed 32-bit integer.

This is the maximum value that a signed 32-bit integer can contain.


INT32_MIN

#define INT32_MIN (-2147483647L-1)

Minimum value of a signed 32-bit integer.

This is the minimum value that a signed 32-bit integer can contain.


INT64_MAX

#define INT64_MAX (9223372036854775807LL)

Maximum value of a signed 64-bit integer.

This is the maximum value that a signed 64-bit integer can contain.


INT64_MIN

#define INT64_MIN (-9223372036854775807LL-1)

Minimum value of a signed 64-bit integer.

This is the minimum value that a signed 64-bit integer can contain.


INT8_MAX

#define INT8_MAX (127)

Maximum value of a signed 8-bit integer.

This is the maximum value that a signed 8-bit integer can contain.


INT8_MIN

#define INT8_MIN (-128)

Minimum value of a signed 8-bit integer.

This is the minimum value that a signed 8-bit integer can contain.


INTMAX_MAX

#define INTMAX_MAX (9223372036854775807LL)

Maximum value of our intmax_t type.

This is the maximum value that the largest signed integer can contain on the TIGCC platform.


INTMAX_MIN

#define INTMAX_MIN (-9223372036854775807LL-1)

Minimum value of our intmax_t type.

This is the minimum value that the largest signed integer can contain on the TIGCC platform.


INTPTR_MAX

#define INTPTR_MAX (2147483647L)

Maximum value of our intptr_t type.

This is the maximum value that a signed integer large enough to hold a pointer can contain on the TIGCC platform.


INTPTR_MIN

#define INTPTR_MIN (-2147483647L-1)

Minimum value of our intptr_t type.

This is the minimum value that a signed integer large enough to hold a pointer can contain on the TIGCC platform.


UINT_FAST16_MAX

#define UINT_FAST16_MAX (65535U)

Maximum value of our uint_fast16_t type.

This is the maximum value that an uint_fast16_t can contain on the TIGCC platform.


UINT_FAST32_MAX

#define UINT_FAST32_MAX (4294967295UL)

Maximum value of our uint_fast32_t type.

This is the maximum value that an uint_fast32_t can contain on the TIGCC platform.


UINT_FAST64_MAX

#define UINT_FAST64_MAX (18446744073709551615ULL)

Maximum value of our uint_fast64_t type.

This is the maximum value that an uint_fast64_t can contain on the TIGCC platform.


UINT_FAST8_MAX

#define UINT_FAST8_MAX (65535U)

Maximum value of our uint_fast8_t type.

This is the maximum value that an uint_fast8_t can contain on the TIGCC platform.


UINT_LEAST16_MAX

#define UINT_LEAST16_MAX (65535U)

Maximum value of our uint_least16_t type.

This is the maximum value that a uint_least16_t can contain on the TIGCC platform.


UINT_LEAST32_MAX

#define UINT_LEAST32_MAX (4294967295UL)

Maximum value of our uint_least32_t type.

This is the maximum value that a uint_least32_t can contain on the TIGCC platform.


UINT_LEAST64_MAX

#define UINT_LEAST64_MAX (18446744073709551615ULL)

Maximum value of our uint_least64_t type.

This is the maximum value that a uint_least64_t can contain on the TIGCC platform.


UINT_LEAST8_MAX

#define UINT_LEAST8_MAX (255)

Maximum value of our uint_least8_t type.

This is the maximum value that a uint_least8_t can contain on the TIGCC platform.


UINT16_MAX

#define UINT16_MAX (65535U)

Maximum value of an unsigned 16-bit integer.

This is the maximum value that an unsigned 16-bit integer can contain.


UINT32_MAX

#define UINT32_MAX (4294967295UL)

Maximum value of an unsigned 32-bit integer.

This is the maximum value that an unsigned 32-bit integer can contain.


UINT64_MAX

#define UINT64_MAX (18446744073709551615ULL)

Maximum value of an unsigned 64-bit integer.

This is the maximum value that an unsigned 64-bit integer can contain.


UINT8_MAX

#define UINT8_MAX (255)

Maximum value of an unsigned 8-bit integer.

This is the maximum value that an unsigned 8-bit integer can contain.


UINTMAX_MAX

#define UINTMAX_MAX (18446744073709551615ULL)

Maximum value of our uintmax_t type.

This is the maximum value that the largest unsigned integer can contain on the TIGCC platform.


UINTPTR_MAX

#define UINTPTR_MAX (4294967295UL)

Maximum value of our uintptr_t type.

This is the maximum value that an unsigned integer large enough to hold a pointer can contain on the TIGCC platform.


int_fast16_t

typedef short int_fast16_t;

The fastest signed type with at least 16 bits (specified by C99).

This type can be used when at least 16 bits of signed data storage are wanted, and speed is more of a concern than size. In TIGCC, its size is exactly 16 bits.


int_fast32_t

typedef long int_fast32_t;

The fastest signed type with at least 32 bits (specified by C99).

This type can be used when at least 32 bits of signed data storage are wanted, and speed is more of a concern than size. In TIGCC, its size is exactly 32 bits.


int_fast64_t

typedef long long int_fast64_t;

The fastest signed type with at least 64 bits (specified by C99).

This type can be used when at least 64 bits of signed data storage are wanted, and speed is more of a concern than size. In TIGCC, its size is exactly 64 bits.


int_fast8_t

typedef short int_fast8_t;

The fastest signed type with at least 8 bits (specified by C99).

This type can be used when at least 8 bits of signed data storage are wanted, and speed is more of a concern than size. In TIGCC, its size is 16 bits.


int_least16_t

typedef short int int_least16_t;

A signed type with at least 16 bits (specified by C99).

This type can be used when at least 16 bits of signed data storage are wanted. In TIGCC, its size is exactly 16 bits.


int_least32_t

typedef long int_least32_t;

A signed type with at least 32 bits (specified by C99).

This type can be used when at least 32 bits of signed data storage are wanted. In TIGCC, its size is exactly 32 bits.


int_least64_t

typedef long long int int_least64_t;

A signed type with at least 64 bits (specified by C99).

This type can be used when at least 64 bits of signed data storage are wanted. In TIGCC, its size is exactly 64 bits.


int_least8_t

typedef signed char int_least8_t;

A signed type with at least 8 bits (specified by C99).

This type can be used when at least 8 bits of signed data storage are wanted. In TIGCC, its size is exactly 8 bits.


int16_t

typedef short int16_t;

A 16-bit signed fixed-width type specified by C99.

This type can be used when exactly 16 bits of signed data storage are wanted.


int32_t

typedef long int32_t;

A 32-bit signed fixed-width type specified by C99.

This type can be used when exactly 32 bits of signed data storage are wanted.


int64_t

typedef long long int64_t;

A 64-bit signed fixed-width type specified by C99.

This type can be used when exactly 64 bits of signed data storage are wanted.


int8_t

typedef signed char int8_t;

An 8-bit signed fixed-width type specified by C99.

This type can be used when exactly 8 bits of signed data storage are wanted.


intmax_t

typedef long long intmax_t;

The largest signed integer on this platform (specified by C99).

This type can be used when one wants the widest possible signed integer on the platform. In TIGCC, this type is exactly 64 bits.


intptr_t

typedef long intptr_t;

A signed integer large enough to hold a void* pointer (specified by C99).

This type can be used when one wants to store a pointer value in a signed integer.


uint_fast16_t

typedef unsigned short uint_fast16_t;

The fastest unsigned type with at least 16 bits (specified by C99).

This type can be used when at least 16 bits of unsigned data storage are wanted, and speed is more of a concern than size. In TIGCC, its size is exactly 16 bits.


uint_fast32_t

typedef unsigned long uint_fast32_t;

The fastest unsigned type with at least 32 bits (specified by C99).

This type can be used when at least 32 bits of unsigned data storage are wanted, and speed is more of a concern than size. In TIGCC, its size is exactly 32 bits.


uint_fast64_t

typedef unsigned long long uint_fast64_t;

The fastest unsigned type with at least 64 bits (specified by C99).

This type can be used when at least 64 bits of unsigned data storage are wanted, and speed is more of a concern than size. In TIGCC, its size is exactly 64 bits.


uint_fast8_t

typedef unsigned short uint_fast8_t;

The fastest unsigned type with at least 8 bits (specified by C99).

This type can be used when at least 8 bits of unsigned data storage are wanted, and speed is more of a concern than size. In TIGCC, its size is 16 bits.


uint_least16_t

typedef unsigned short uint_least16_t;

An unsigned type with at least 16 bits (specified by C99).

This type can be used when at least 16 bits of unsigned data storage are wanted. In TIGCC, its size is exactly 16 bits.


uint_least32_t

typedef unsigned long uint_least32_t;

An unsigned type with at least 32 bits (specified by C99).

This type can be used when at least 32 bits of unsigned data storage are wanted. In TIGCC, its size is exactly 32 bits.


uint_least64_t

typedef unsigned long long uint_least64_t;

An unsigned type with at least 64 bits (specified by C99).

This type can be used when at least 64 bits of unsigned data storage are wanted. In TIGCC, its size is exactly 64 bits.


uint_least8_t

typedef unsigned char uint_least8_t;

An unsigned type with at least 8 bits (specified by C99).

This type can be used when at least 8 bits of unsigned data storage are wanted. In TIGCC, its size is exactly 8 bits.


uint16_t

typedef unsigned short uint16_t;

A 16-bit type unsigned fixed-width type specified by C99.

This type can be used when exactly 16 bits of unsigned data storage are wanted.


uint32_t

typedef unsigned long uint32_t;

A 32-bit type unsigned fixed-width type specified by C99.

This type can be used when exactly 32 bits of unsigned data storage are wanted.


uint64_t

typedef unsigned long long uint64_t;

A 64-bit type unsigned fixed-width type specified by C99.

This type can be used when exactly 64 bits of unsigned data storage are wanted.


uint8_t

typedef unsigned char uint8_t;

An 8-bit type unsigned fixed-width type specified by C99.

This type can be used when exactly 8 bits of unsigned data storage are wanted.


uintmax_t

typedef unsigned long long uintmax_t;

The largest unsigned integer on this platform (specified by C99).

This type can be used when one wants the widest possible unsigned integer on the platform. In TIGCC, this type is exactly 64 bits.


uintptr_t

typedef unsigned long uintptr_t;

An unsigned integer large enough to hold a void* pointer (specified by C99).

This type can be used when one wants to store a pointer value in an unsigned integer.


Return to the main index