C语言里 单精度型与双精度型怎么表示?是什么样子?

来源:百度知道 编辑:UC知道 时间:2024/05/24 22:53:55

单精度float 占4字节 -3.4*10^-38到 3.4*10^38, 双精度double 占8字节 -1.7*10^-308到1.7*10^308

双精度是:double单精度是:flout

单精度是float
双精度是double

看上去样子差不多,就是取值范围不同。

单精度是float
双精度是double

都是浮点型,所谓浮点就是只能表示近似值,不能表示准确值,最后的几位小数是不准确的。
如:
#include<stdio.h>
void main()
{
double a=2.9999999;
printf("%f ",a);
a=2.99999998;
printf("%f ",a);
a=2.99999997;
printf("%f ",a);
a=2.99999996;
printf("%f ",a);
a=2.99999995;
printf("%f ",a);
printf("%\n ");

//输出结果都是3.000000

a=2.9999949;
printf("%f ",a);
a=2.9999948;
printf("%f ",a);
a=2.9999947;
printf("%f ",a);
a=2.9999946;
printf("%f ",a);

//输出结果都是2.999995

}