Going by the standard, all that's guaranteed is:
int
must be at least 16 bits
long
must be at least 32 bits
long long
must be at least 64 bits
On major 32-bit platforms:
int
is 32 bits
long
is 32 bits as well
long long
is 64 bits
On major 64-bit platforms:
int
is 32 bits
long
is either 32 or 64 bits
long long
is 64 bits as well
If you need a specific integer size for a particular application, rather than trusting the compiler to pick the size you want, #include <stdint.h>
(or <cstdint>
) so you can use these types:
int8_t
and uint8_t
int16_t
and uint16_t
int32_t
and uint32_t
int64_t
and uint64_t
You may also be interested in #include <stddef.h>
(or <cstddef>
):
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…