printf("% 1.3f"\n)这样的输出时表示什么
答案:2 悬赏:0
解决时间 2021-03-23 07:14
- 提问者网友:江鱼
- 2021-03-22 11:51
printf("% 1.3f"\n)这样的输出时表示什么
最佳答案
- 二级知识专家网友:有钳、任性
- 2021-03-22 12:24
%m.n,
m表示输出的数占几列,n表示保留到小数点后几位
% 1.3f就表示保留到小数点后三位,f表示是一个浮点型的数
m表示输出的数占几列,n表示保留到小数点后几位
% 1.3f就表示保留到小数点后三位,f表示是一个浮点型的数
全部回答
- 1楼网友:不傲怎称霸
- 2021-03-22 12:49
因为程序在存储变量的时候是将转换为二进制来存储的。而十进制的小数转换成二进制时,分循环和非循环。
也就是说,-923.231转换为二进制是一个循环的二进制小数,而float的有效位数为7位,所以当变量x保存了这个值后,通过printf函数调用时再次转换成十进制小数输出,所以会产生误差。 你可以试验下,-923.5输出的值就不会改变,因为-923.5转换为二进制是非循环的。当然使用double的话,对于不是过于大的数也不会产生错误,因为精度提高了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯