P99
Footnotes
Page Implemented utilities
3 The number of arguments might be restricted by your compiler implementation. Also most of the P99 macros are limited to P99_MAX_NUMBER.
Page Macro programming with P99
4 The actual definition is a bit more complicated to capture special cases.
page P99 - Preprocessor macros and functions for C99 and C11

1 Here N+1 is the width of uintmax_t, assuming most common representations of signed integers.

2 Well, there is exactly one exception to that: on systems where -INTMAX_MIN is not representable in uintmax_t, this same value may cause problems.

Module Preprocessor_conditionals

5 INT_MAX can never be 10000, because is it at least 215-1. CHAR_BIT isn't 8 only on special hardware such as DSP, and if is is 8, the typedef uint8_t must exist.