c语言中%f和%e的默认输出小数点后几位

如题所述

第1个回答  2022-09-29

在格式化输出中,%f和%e默认都是都是六位,不过%e输出的话幂级数也占三位。

%10.3f

整个输出占10格(含. ±号) 小数占3格

默认

%f 效果等于0.123456

%e 效果等于0.12345e+01

float类型的精度,只能保证前6位是绝对精确的,到第7位有可能是精确的,有可能是近似值。在设计的时候,打印浮点数就是默认六位了。超过6位输出不精确值,意义不大。 第七位不精确的情况下,第八位完全没意义。少于六位,又减少了有效位数。

扩展资料:

如果存储比精度更重要,请考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则使用 double 类型。

浮点变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当您对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。例如,请考虑下列类型声明:

float f_short;double f_long;long double f_longer;f_short = f_short * f_long;

在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。

参考资料来源:百度百科-FLOAT