В соответствии со стандартом C
целочисленные типы определены как минимум для следующих диапазонов:
int -32767 to +32767 representable in 16 bits
long -2147483647 to +2147483647 representable in 32 bits
long long -9223372036854775807 to +9223372036854775807 representable in 64 bits
Каждый может быть представлен как для поддержки более широкого диапазона. В распространенных 32-битных системах int
и long
имеют одинаковое 32-битное представление.
Обратите внимание, что отрицательные границы симметричны своим положительным аналогам, чтобы обеспечить представление знаков и величин: стандарт языка C не налагает два дополнения.