基本数据类型及其范围
数据类型 | 占内存字节数 | 表示范围 | 数量级 |
---|---|---|---|
char(signed char) | 1 | -128~127 | 2 |
unsigned char | 1 | 0~255 | 2 |
short int(signed short int) | 2 | -32,768~32,767 | 4 |
unsigned short int | 2 | 0~65,535 | 4 |
int(signed int) | 4 | -2,147,483,648~2,147,483,647(-231 ~ 231-1) | 9 |
unsigned int | 4 | 0~4,294,967,295 | 9 |
long int(signed long int) | 4 | -2,147,483,648~2,147,483,647(-231 ~ 231-1) | 9 |
unsigned long int | 4 | 0~4,294,967,295 | 9 |
float | 4 | -3.4x10-38 ~ 3.4x1038 | 38 |
double | 8 | -1.7x10-308 ~ 1.7x10308 | 308 |
long double | 8 | -1.7x10-308 ~ 1.7x10308 | 308 |
注意:
int占多少个字节是由编译器决定的,ANSI标准定义int是占2个字节。TC是按ANSI标准的,它的int是占2个字节的。
在TC里面,printf("%d",sizeof(int));结果是2;
但是在VC里,一个int是占4个字节的,printf("%d",sizeof(int));cout<<sizeof(int);结果都是4。
不同的编译器,规定也不一样。
float,double也是一样的,在不同的编译器里,占的字节是不一样的。