NAME |LIBRARY |SYNOPSIS |DESCRIPTION |STANDARDS |HISTORY |NOTES |SEE ALSO |COLOPHON | |
intN_t(3type)intN_t(3type)intN_t, int8_t, int16_t, int32_t, int64_t, uintN_t, uint8_t, uint16_t, uint32_t, uint64_t - fixed-width basic integer types
Standard C library (libc)
#include <stdint.h>typedef/* ... */int8_t;typedef/* ... */int16_t;typedef/* ... */int32_t;typedef/* ... */int64_t;typedef/* ... */uint8_t;typedef/* ... */uint16_t;typedef/* ... */uint32_t;typedef/* ... */uint64_t;#define INT8_WIDTH 8#define INT16_WIDTH 16#define INT32_WIDTH 32#define INT64_WIDTH 64#define UINT8_WIDTH 8#define UINT16_WIDTH 16#define UINT32_WIDTH 32#define UINT64_WIDTH 64#define INT8_MAX/* 2**(INT8_WIDTH - 1) - 1 */#define INT16_MAX/* 2**(INT16_WIDTH - 1) - 1 */#define INT32_MAX/* 2**(INT32_WIDTH - 1) - 1 */#define INT64_MAX/* 2**(INT64_WIDTH - 1) - 1 */#define INT8_MIN/* - 2**(INT8_WIDTH - 1) */#define INT16_MIN/* - 2**(INT16_WIDTH - 1) */#define INT32_MIN/* - 2**(INT32_WIDTH - 1) */#define INT64_MIN/* - 2**(INT64_WIDTH - 1) */#define UINT8_MAX/* 2**INT8_WIDTH - 1 */#define UINT16_MAX/* 2**INT16_WIDTH - 1 */#define UINT32_MAX/* 2**INT32_WIDTH - 1 */#define UINT64_MAX/* 2**INT64_WIDTH - 1 */#define INT8_C(c)c##/* ... */#define INT16_C(c)c##/* ... */#define INT32_C(c)c##/* ... */#define INT64_C(c)c##/* ... */#define UINT8_C(c)c##/* ... */#define UINT16_C(c)c##/* ... */#define UINT32_C(c)c##/* ... */#define UINT64_C(c)c##/* ... */
intN_t are signed integer types of a fixed width of exactly N bits,N being the value specified in its type name. They are be capable of storing values in the range [INTN_MIN,INTN_MAX], substitutingN by the appropriate number.uintN_t are unsigned integer types of a fixed width of exactly N bits, N being the value specified in its type name. They are capable of storing values in the range [0,UINTN_MAX], substitutingN by the appropriate number. According to POSIX, [u]int8_t, [u]int16_t, and [u]int32_t are required; [u]int64_t are only required in implementations that provide integer types with width 64; and all other types of this form are optional. The macros [U]INTN_WIDTHexpand to the width in bits of these types (N). The macros [U]INTN_MAXexpand to the maximum value that these types can hold. The macrosINTN_MINexpand to the minimum value that these types can hold. The macros [U]INTN_C() expand their argument to an integer constant of type [u]intN_t. The length modifiers for the [u]intN_t types for theprintf(3) family of functions are expanded by macros of the formsPRIdN,PRIiN,PRIuN, andPRIxN (defined in<inttypes.h>); resulting for example in%"PRId64"or%"PRIi64"for printingint64_t values. The length modifiers for the [u]intN_t types for thescanf(3) family of functions are expanded by macros of the formsSCNdN,SCNiN,SCNuN, andSCNxN, (defined in<inttypes.h>); resulting for example in%"SCNu8"or%"SCNx8"for scanninguint8_t values.
C11, POSIX.1-2008.
C99, POSIX.1-2001. The [U]INTN_WIDTHmacros were added in C23.
The following header also provides these types:<inttypes.h>.<arpa/inet.h> also providesuint16_t anduint32_t.
intmax_t(3type),intptr_t(3type),printf(3)
This page is part of theman-pages (Linux kernel and C library user-space interface documentation) project. Information about the project can be found at ⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report for this manual page, see ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩. This page was obtained from the tarball man-pages-6.15.tar.gz fetched from ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on 2025-08-11. If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up- to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orgLinux man-pages 6.15 2025-05-17intN_t(3type)Pages that refer to this page:intmax_t(3type)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |