c - 一旦程序执行,声明的变量就会给出不同的输出

标签 c printf

#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/

相关文章:

C 中浮点图像与 2D 函数的卷积

C - printf() 是否会导致线程休眠?

c - fputs/puts 危险(在 C 中)?

c - STM32f4xx标准外设库说明

c - sizeof(function) 总是返回 1。为什么?

java - 为什么 String 的 format(Object... args) 被定义为静态方法?

c - (f)printf() 线程安全但信号处理程序不安全

c - 是否可以从打开的文件描述符重新创建文件?

c - FUSE开放系统调用机制

c++ - 如何禁用 ListView 选择视觉效果并在项目周围绘制一个矩形?