c++中为什么3.14*2是双精度?单精度与双精度表示有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/05/30 20:58:05

二者的取值范围和精度是不同的

float的精度是6-7位有效数字,取值范围约为:-3.08*10的38次方到10的38次方,float占用4字节空间

double的精度是16-17位有效数字,取值范围约为-3.08*10的308次方到+3.08*10的308次方,double占用8字节空间。

这仅仅是由于VC编译器的原因,不是其他别的什么。单精度float,和双精度double的区别是它们的小数位数不同。double是16位的而float只有八位。