Можно создать дубликат:
How would you set a variable to the largest number possible in C?Есть ли способ, с помощью которого вы можете найти максимальный размер типа данных?
Можем ли мы найти максимальный размер типа данных в C LANGAUGE?
Можно создать дубликат:
How would you set a variable to the largest number possible in C?Есть ли способ, с помощью которого вы можете найти максимальный размер типа данных?
Можем ли мы найти максимальный размер типа данных в C LANGAUGE?
Если вы хотите знать, максимальные и минимальные значения, которые вы можете хранить в переменной данного типа данных, вы можете проверить с этими различными константами:
LONG_MIN, LONG_MAX, см. here, для отдыха.
Максимальный размер не существует. Тип данных имеет размер, и он остается постоянным в этой реализации. Вы можете получить его по номеру sizeof(datatype)
.
Если вы запрашиваете максимальное число, представляемое типом данных, то для неподписанных типов вы можете просто сделать (unsigned type)-1
. Это полезно, если вы просто используете unsigned typedef (size_t
и т. Д.) И не знаете точное базовое имя типа. Для подписанных типов это не сработает. Есть макросы для этого, хотя (в том числе неподписанных вариантов)
INT_MAX /* maximal int value */
LONG_MAX /* maximal long value */
UINT_MAX /* maximal unsigned int value */
/* etc... */
как в "максимальном размере на всех платформах и реализациях?" – louisgab
Я имею в виду, как бы получить наибольшее значение, которое он может присвоить переменной, так что возникновение переполнения происходит. –