程序执行后,声明的变量将提供不同的输出

时间:2019-03-17 03:37:37

标签: c printf

#include<stdio.h>

int main(){

    float x =5400.768;

    printf("%f", x);

}

在上面的代码中,一旦执行程序,它将显示5400.768066作为输出,并带有3个额外的小数位。这是为什么?

2 个答案:

答案 0 :(得分:0)

问题是floating point inaccuracy。基本上,该数字以32位存储,只能包含有限的精度,并且通常仅具有〜7个十进制数字。如果需要更高的准确性,可以使用64位值(也称为double)。

答案 1 :(得分:0)

如果您想了解floats如何存储在内存中,请查看此https://m.youtube.com/watch?v=f4ekifyijIg

如果只想打印到小数点后3位,请使用printf("%.3f",variable_name);