为什么一定要用double,用float就只能过两个数据

P5719 【深基4.例3】分类平均

CN2020 @ 2023-09-26 10:40:20


by CN2020 @ 2023-09-26 10:47:01

甚至我定义的是double,但输出的时候是用的%.1f,这样也能过的吗?


by Terrible @ 2023-09-26 11:01:40

float 精度不太够,一般都用 double%.1f 输出 doublefloat 都是合法的。


by mojing_ @ 2023-10-17 13:11:56

@Terrible 同问大佬,还是不太理解都只用到了十分位为什么就精度不够?


by Terrible @ 2023-10-17 13:37:57

@mojing_

和小数点后几位无关,浮点数是保存第一位的位置和第一位后面若干位数字的,因而只能保证一个相对的精确度,如果整个数过大,甚至精确不到十分位。

本题中间过程出现的整数可能是超出 float 的表示范围的,以至于 float 一定进行了舍入,产生了相当的误差。

一般来说 double 能完成的事情就用 double,只有一些很特殊的环境下用 float 才能发挥大作用。


by mojing_ @ 2023-10-17 23:36:49

@Terrible 秒懂,谢谢大佬!


by ronin_chy @ 2023-11-06 21:36:31

@Terrible 谢谢大佬


|