На основных 32-битных платформах:
int
- это 32 бита
long
также 32 бита
long long
- 64 бита
На основных 64-битных платформах:
int
составляет 32 бита
long
- 32 или 64 бита
long long
также составляет 64 бита
По стандарту:
int
должно быть не менее 16 бит
long
должно быть не менее 32 бит
long long
должно быть не менее 64 бит
Поправь меня, если я ошибаюсь.
Если вам нужен конкретный целочисленный размер для конкретного приложения, вместо того, чтобы доверять компилятору выбрать нужный вам размер, #include <stdint.h>
(или <cstdint>
), чтобы вы могли использовать следующие типы:
int8_t
и uint8_t
int16_t
и uint16_t
int32_t
и uint32_t
int64_t
и uint64_t
Вас также может заинтересовать #include <stddef.h>
(или <cstddef>
):