stdint.h (C99)

stdint.h には,型の最小値と最大値を示すマクロが定義されています.

幅指定整数型の限界値

マクロ名概要
INTN_MIN幅指定符号付き整数型の最小値 (-(2N-1))
INTN_MAX幅指定符号付き整数型の最大値 (2N-1-1)
UINTN_MAX幅指定符号無し整数型の最大値 (2N-1)

最小幅指定整数型の限界値

マクロ名概要
INT_LEASTN_MIN最小幅指定符号付き整数型の最小値 (-(2N-1-1))
INT_LEASTN_MAX最小幅指定符号付き整数型の最大値 (2N-1-1)
UINT_LEASTN_MAX最小幅指定符号無し整数型の最大値 (2N-1)

最速最小幅指定整数型の限界値

マクロ名概要
INT_FASTN_MIN最速最小幅指定符号付き整数型の最小値 (-(2N-1-1))
INT_FASTN_MAX最速最小幅指定符号付き整数型の最大値 (2N-1-1)
UINT_FASTN_MAX最速最小幅指定符号無し整数型の最大値 (2N-1)

オブジェクトポインタを保持可能な整数型の限界値

マクロ名概要
INTPTR_MINポインタ保持可能な符号付き整数型の最小値 (-(215-1))
INTPTR_MAXポインタ保持可能な符号付き整数型の最大値 (215-1)
UINTPTR_MAXポインタ保持可能な符号付き整数型の最大値 (216-1)

最大幅整数型の限界値

マクロ名概要
INTMAX_MIN最大幅符号付き整数型の最小値 (-(263-1))
INTMAX_MAX最大幅符号付き整数型の最大値 (263-1)
UINTMAX_MAX最大幅符号無し整数型の最大値 (264-1)

他の整数型の限界値

マクロ名概要
PTRDIFF_MINptrdiff_t の限界値下限 (-65535)
PTRDIFF_MAXptrdiff_t の限界値上限 (+65535)
SIG_ATOMIC_MINsig_atomic_t の限界値下限 (符号付き: -127 以下,符号無し: 0)
SIG_ATOMIC_MAXsig_atomic_t の限界値上限 (符号付き: 127 以上,符号無し: 255 以上)
SIZE_MAXsize_t の限界値 (65535)
WCHAR_MINwchar_t の限界値下限 (符号付き: -127 以下,符号無し: 0)
WCHAR_MAXwchar_t の限界値上限 (符号付き: 127 以上,符号無し: 255 以上)
WINT_MINwint_t の限界値下限 (符号付き: -32767 以下,符号無し: 0)
WINT_MAXwint_t の限界値上限 (符号付き: 32767 以上,符号無し: 65535 以上)

最小幅整数定数のマクロ

マクロ名概要
INTN_C() を int_leastN_t に対応する整数定数式に展開
UINTN_C() を uint_leastN_t に対応する整数定数式に展開

最大幅整数定数のマクロ

マクロ名概要
INTMAX_C() を intmax_t である整数定数式に展開
UINTMAX_C() を uintmax_t である整数定数式に展開