C/C++ 关于double和float两种类型的区别

2023-10-16 08:25:36 浏览数 (2)

​​​​​​float 是单精度浮点数,内存占4个字节,有效数字8位,表示范围是 -3.40E 38~3.40E 38。

double 是双精度浮点数,内存占8个字节,有效数字16位,表示范是-1.79E 308~-1.79E 308。

代码语言:javascript复制
#include<stdio.h>

int main()
{
	printf("%dn", sizeof(float));
	printf("%dn", sizeof(double));
	return 0;
}

 输出:

关于处理速度:

两者处理速度不同,CPU处理float的速度比处理double快。double的精度高,double消耗内存是float的两倍。

关于使用:

如果不声明,小数默认是double类型,使用float时需要进行强转,或者在小数后加上f。

关于四舍五入:

double和float都是只对部分小数进行四舍五入

代码语言:javascript复制
#include<stdio.h>

int main()
{
	double a = 0.555;
	float b = 0.555f;
	printf("%.2lf  %.2fn", a, b);
	a = 1.555;
	b = 1.555f;
	printf("%.2lf  %.2fn", a, b);
	return 0;
}

输出:

0 人点赞