张艺玮 发表于 2021-8-3 20:42:45

关于printf函数的小问题

本帖最后由 张艺玮 于 2021-8-3 20:44 编辑

为什么我输入的数和输出的数总是不一样,求大佬看看问题出在哪里

下面的程序输出为:1.26845884
#include <iostream>

int main()
{
        float a = 1.26845882;
       
        printf("%10.8f\n",a);
       
        return 0;
}


大马强 发表于 2021-8-3 21:32:16

精度问题,正常现象

大马强 发表于 2021-8-3 21:37:56

换成double类型就好了,float精度不够
double a = 1.26845882;
      
      printf("%10.8lf\n",a);

张艺玮 发表于 2021-8-3 21:45:55

大马强 发表于 2021-8-3 21:37
换成double类型就好了,float精度不够

float是只能有6位精度吗

大马强 发表于 2021-8-3 21:58:11

张艺玮 发表于 2021-8-3 21:45
float是只能有6位精度吗

float占4字节6为有效
double占8字节15有效

张艺玮 发表于 2021-8-3 22:00:35

大马强 发表于 2021-8-3 21:58
float占4字节6为有效
double占8字节15有效

谢谢大佬
页: [1]
查看完整版本: 关于printf函数的小问题