#include<stdio.h>
int main(){
float x =5400.768;
printf("%f", x);
}
在上面的代码中,一旦我执行程序,它将显示 5400.768066 作为输出,并带有 3 个额外的小数位。这是为什么?
最佳答案
问题是floating point inaccuracy 。基本上,该数字以 32 位存储,只能包含有限的精度,并且通常只有约 7 个十进制数字的精度。如果您需要更高的精度,可以使用 64 位值(又名 double
)。
关于c - 一旦程序执行,声明的变量就会给出不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55203620/