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

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

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

#include

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

 输出:

C/C++ 关于double和float两种类型的区别_第1张图片

关于处理速度:

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

关于使用:

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

关于四舍五入:

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

#include

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

输出:

 


 

你可能感兴趣的:(C/C++,c语言,c++)