/* exact-width signed integer types */
typedef signed char int8_t; // 范围 -128~127 (1 Byte)
typedef signed short int int16_t; // 范围 -32768 ~ + 32767 (2 Bytes)
typedef signed int int32_t; // 范围 -32768 ~ + 32767 (4 Bytes)
typedef signed __INT64 int64_t; // 范围 -9223372036854775808 ~ +9223372036854775807 (8 Bytes)
/ * Exact-width types Integer * / unsigned
typedef unsigned char uint8_t ; // range 255 ~ 0 (Byte. 1)
typedef unsigned int Short uint16_t ; // range 65536 ~ 0 (2 Bytes)
typedef unsigned int uint32_t ; // range 0 4294967295 ~ (. 4 Bytes)
typedef unsigned __int64 uint64_t ; // range 0 ~ 18446744073709551615 (8 Byte)
char occupies 1 byte
2 bytes short int
int occupies 4 bytes
long occupy 4 bytes
occupies 4 bytes long int
float occupy 4 bytes
8-byte double occupancy
(1) in the range of unsigned char: 0 to 2 ^ 8-1 (0 to 255)
(2) char value range: 2 ~ 7 ^ -2 ^ 7-1 (-128 to 127)
Issue:
char -128 ~ +127 (1 Byte)
short -32768 ~ + 32767 (2 Bytes)
unsigned short 0 ~ 65536 (2 Bytes)
int -2147483648 ~ +2147483647 (4 Bytes)
unsigned int 0 ~ 4294967295 (4 Bytes)
long == int
long long -9223372036854775808 ~ +9223372036854775807 (8 Bytes)
double 1.7 * 10^308 (8 Bytes)
unsigned int 0 ~ 4294967295
The maximum long long: 9223372036854775807
The minimum value of long long: -9223372036854775808
The maximum value of unsigned long long: 18446744073709551615
The maximum __int64: 9223372036854775807
__Int64 minimum of: -9223372036854775808
The maximum unsigned __int64: 18446744073709551615
Reference: https://blog.csdn.net/smile_zhangw/article/details/79063559