2.1 sizeof 用于测量函数所占字节的大小(包含测量float、double)
//例子:我们要测量int的所占字节的大小,我们可以这样写
#include<stdio.h>
int main()
{
printf("sizeof char=%d\n", sizeof(char));
printf("sizeof short=%d\n", sizeof(short));
printf("sizeof int=%d\n", sizeof(int));
printf("sizeof long=%d\n", sizeof(long));
printf("sizeof long long=%d\n", sizeof(long long));
printf("sizeof float=%d\n", sizeof(float));
printf("sizeof double=/%d\n", sizeof(double));
return 0;
}
2.2浮点数
//假设使用int,则显示结果为:
观察可见:int只显示这个数的整数部分,不显示小数部分
结论:int整数类型无法显示小数类型
若我们需要显示小数类型,则需使用浮点数,浮点数分为float单精度和double双精度两种。
//假设使用float,则显示结果为:
将int修改成float后输出发现,结果显示错误,经查,未修改占位符
%d占位符用于整型
%f占位符用于浮点型
将占位符和字符类型都修改后:
将占位符和字符类型都修改后发现:
float可以显示小数结果,但显示精度有限位数较多时则会显示错误
规定:float至少能表示六位有效数字。取值范围在10的-37次方到10的37次方。
365.12345
365.12345:前六位能有效准确显示。
我们将float换成double,再测试
换成double后我们发现数值是可以准确显示的。
注意:double精度比float精度高,但是double也是有精度范围的。若精度过高时,double也会出现误差,日常生活中我们是允许误差存在的。若在特殊领域不允许存在误差,则需要使用其他方法消除误差,在此不做介绍。
sizeof 用于测量float、double所占字节的大小
#include<stdio.h>
int main()
{
printf("sizeof float=%d\n", sizeof(float));
printf("sizeof double=/%d\n", sizeof(double));
return 0;
}
结论:精度越高,范围越大,所占字节越大。