各类型在windows 64位平台所占空间
char- 字符型数据类型
char c = 'a';
1、该类型创建的变量及常量,在内存中占用1个字节空间,所以只能存储一个字节的内容,通常是一个字符。
2、取值范围可以是0~255也可以是-128到+127。
3、char类型常变量通过ASCII编码将字符转换成对应数字存储到8个二进制位,也就是一个一节
4、ASCII编码常用取值仅位0-127,至于127-255则位预留不常用
ASCII编码表(图片来自于网络,如有侵权请告知删除)
short int-短整数型数据类型
short s = 10;
32位及64位平台均占用2个字节
取值范围:-32768~32767
int-整数型数据类型
int i = 10;
32及64位平台均占用4个字节
个别编译器、以及51单片机16位平台c语言中占用2个字节,可取值范围-32768~32767
取值范围:正负2的32次方:-2147483648~2147483647
long int-长整数型数据类型
long l = 100;
32及64位平台均占用4个字节,但是在Mac系统及Linux64位系统占用8个字节
取值范围:-2^32~2^32-1
long long int-长长整形数据类型
long long ll = 1000;
32及64位平台均占用8个字节
float-单精度浮点型数据类型
float f = 3.14f;
float f = (float)3.14;
注:编译器会将小数默认为是double类型,double存储需要8个字节,直接将小数放到float会因为放不下报错,所以需要在后面加f,或者强制类型转换
32及64位平台均占用4个字节
取值范围:(取值范围算法较为复杂,暂不深入研究)
正数:1.4E-45~3.4E+38
负数:-3.4E+38~-1.4E-45
double-双精度浮点型数据类型
double b = 3.14;
32及64位平台均占用8个字节
取值范围:(取值范围算法较为复杂,暂不深入研究)
正数:4.9E-324~1.7E+308
负数:-1.7E+308~-4.9E-324
科学计数法
3e5表示3*10^5
3e-5表示3*0.1^2