int 类型与操作系统,编译器相关
如:win32下为32位,win64下为64位
如果软件有移植需求,请使用固定大小的数据类型
注意:long 的字节数是不随平台改变的,都是4字节
补充:
BYTE 1字节typedef unsigned char BYTE;
WORD 2字节typedef unsigned short WORD;
DWORD 4字节typedef unsigned long DWORD;
数据类型名称 | 字节数 | 别名 | 取值范围 |
int | * | signed,signed int | 由操作系统决定,即与操作系统的"字长"有关 |
unsigned int | * | unsigned | 由操作系统决定,即与操作系统的"字长"有关 |
__int8 | 1 | char,signed char | –128 到 127 |
__int16 | 2 | short,short int,signed short int | –32,768 到 32,767 【5位 3万】 |
__int32 | 4 | signed,signed int | –2,147,483,648 到 2,147,483,647 【10位 21亿】 |
__int64 | 8 | 无 | –9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 【19位 *亿】 |
bool | 1 | 无 | false 或 true |
char | 1 | signed char | –128 到 127 |
unsigned char | 1 | 无 | 0 到 255 |
short | 2 | short int,signed short int | –32,768 到 32,767 |
unsigned short | 2 | unsigned short int | 0 到 65,535 |
long | 4 | long int,signed long int | –2,147,483,648 到 2,147,483,647 |
long long | 8 | none (but equivalent to __int64) | –9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long | 4 | unsigned long int | 0 到 4,294,967,295 【10位 42亿】 |
enum | * | 无 | 由操作系统决定,即与操作系统的"字长"有关 |
float | 4 | 无 | 3.4E +/- 38 (7 digits) |
double | 8 | 无 | 1.7E +/- 308 (15 digits) |
long double | 8 | 无 | 1.7E +/- 308 (15 digits) |
wchar_t | 2 | __wchar_t | 0 到 65,535 |