Вы нашли один из наиболее раздражающих аспектов спецификаций языка Си. Они обычно не говорят, что такое максимум. Вместо этого они обычно говорят, что наименьшее допустимое значение для максимума .
Они признали, что разные среды аппаратного обеспечения / компилятора / компоновщика имеют разные ограничения, поэтому оставили большинство ограничений отдельным авторам инструментов. Однако они хотели обеспечить некоторую степень переносимости между средами, поэтому они указали наименьшие значения, которые могут принимать максимумы .
Вот так мы получили ограничения, такие как только первые 8 символов идентификаторов, которые учитывались при устранении неоднозначности символов - они не хотели, чтобы какой-либо разработчик имел дело с более длинными идентификаторами, поэтому они сказали «наименьшая максимальная» длина было 8.
Здесь та же история - они хотели, чтобы программисты могли использовать преобразование приличного размера, но признали, что некоторые платформы могут не справиться с огромными преобразованиями - поэтому они установили размер достаточно большой, чтобы большинство программистов никогда не знали о пределе, но достаточно маленький, чтобы некоторые реализации могли выполнять только минимум и при этом соответствовать.