1 .\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
2 .\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
4 .\" SPDX-License-Identifier: Linux-man-pages-copyleft
7 .TH intmax_t 3type (date) "Linux man-pages (unreleased)"
9 intmax_t, uintmax_t \- greatest-width basic integer types
15 .B #include <stdint.h>
17 .BR typedef " /* ... */ " intmax_t;
18 .BR typedef " /* ... */ " uintmax_t;
20 .BR "#define INTMAX_WIDTH " "/* ... */"
21 .B "#define UINTMAX_WIDTH INTMAX_WIDTH"
23 .BR "#define INTMAX_MAX " "/* 2**(INTMAX_WIDTH - 1) - 1 */"
24 .BR "#define INTMAX_MIN " "/* - 2**(INTMAX_WIDTH - 1) */"
25 .BR "#define UINTMAX_MAX " "/* 2**UINTMAX_WIDTH - 1 */"
27 .BI "#define INTMAX_C(" c ) " c " ## " \fR/* ... */\fP"
28 .BI "#define UINTMAX_C(" c ) " c " ## " \fR/* ... */\fP"
32 is a signed integer type
33 capable of representing any value of any basic signed integer type
34 supported by the implementation.
35 It is capable of storing values in the range
40 is an unsigned integer type
41 capable of representing any value of any basic unsigned integer type
42 supported by the implementation.
43 It is capable of storing values in the range
48 .RB [ U ] INTMAX_WIDTH
49 expand to the width in bits of these types.
53 expand to the maximum value that these types can hold.
57 expands to the minimum value that
63 expand their argument to an integer constant of type
66 The length modifier for
72 families of functions is
84 C99 and later; POSIX.1-2001 and later.
86 The following header also provides these types:
89 These types may not be as large as extended integer types, such as