/usr/include/limits.h で次の定義を見つけました。
# define INT_MIN (-INT_MAX - 1)
# define INT_MAX 2147483647
また、このヘッダー ファイル内のすべての XXX_MAX は、数値定数から明示的に定義されているようです。
INT_MAX を定義する移植可能な方法 (プラットフォーム間で異なるワード サイズに対して) があるのだろうか?
私は次のことを試しました:
~((int)-1)
しかし、これは正しくないようです。
短い解説も好評です。