c语言中float类型为何只显示6位小数?

float型的范围为3.4e-38~3.4e38,可是为何却只显示6位小数?怎么能显示更多的小数?有人将自然对数的底e计算到小数点后几千位,他是怎么让计算机显示那么多小数的?

因为一般都有原定设置,如果没有指名要求就只输出6位小数。如果想输出更多的小数可以写成:printf("%n.mf",a) %a为你所要输出的数,n为a中整数和小数位数加上小数点的总和,m为小数位数
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-18
只显示6位小数与C语言float类型的有效位有关。
如果想显示更多的小数,常用有2种方法,一种是采用数组来存储超长位数,还有就是采用链表的形式。前一种方法计算时需要多个超长数组来存储中间值;后一种形式比较耗资源,但可根据需要随时增减位数。本回答被提问者采纳
第2个回答  2015-06-04
在C语言中float只能保持6~7位有效位数。
如果用double类型它的有效位数为15~16位。但是double类型的速度较慢。
第3个回答  2012-10-18
C语言中float只能保持6~7位有效位,double类型有效位数为15~16位
第4个回答  2012-10-18
计算到小数点后几千位,用的不是基本的数据类型,而是用字符数组的本回答被网友采纳
相似回答