1intmax_t(3type) intmax_t(3type)
2
3
4
6 intmax_t, uintmax_t - greatest-width basic integer types
7
9 Standard C library (libc)
10
12 #include <stdint.h>
13
14 typedef /* ... */ intmax_t;
15 typedef /* ... */ uintmax_t;
16
17 #define INTMAX_WIDTH /* ... */
18 #define UINTMAX_WIDTH INTMAX_WIDTH
19
20 #define INTMAX_MAX /* 2**(INTMAX_WIDTH - 1) - 1 */
21 #define INTMAX_MIN /* - 2**(INTMAX_WIDTH - 1) */
22 #define UINTMAX_MAX /* 2**UINTMAX_WIDTH - 1 */
23
24 #define INTMAX_C(c) c ## /* ... */
25 #define UINTMAX_C(c) c ## /* ... */
26
28 intmax_t is a signed integer type capable of representing any value of
29 any basic signed integer type supported by the implementation. It is
30 capable of storing values in the range [INTMAX_MIN, INTMAX_MAX].
31
32 uintmax_t is an unsigned integer type capable of representing any value
33 of any basic unsigned integer type supported by the implementation. It
34 is capable of storing values in the range [0, UINTMAX_MAX].
35
36 The macros [U]INTMAX_WIDTH expand to the width in bits of these types.
37
38 The macros [U]INTMAX_MAX expand to the maximum value that these types
39 can hold.
40
41 The macro INTMAX_MIN expands to the minimum value that intmax_t can
42 hold.
43
44 The macros [U]INTMAX_C() expand their argument to an integer constant
45 of type [u]intmax_t.
46
47 The length modifier for [u]intmax_t for the printf(3) and the scanf(3)
48 families of functions is j; resulting commonly in %jd, %ji, %ju, or %jx
49 for printing [u]intmax_t values.
50
52 C11, POSIX.1-2008.
53
55 C99, POSIX.1-2001.
56
58 The following header also provides these types: <inttypes.h>.
59
61 These types may not be as large as extended integer types, such as
62 __int128
63
65 int64_t(3type), intptr_t(3type), printf(3), strtoimax(3)
66
67
68
69Linux man-pages 6.04 2023-03-30 intmax_t(3type)