gpt4 book ai didi

c - 为什么 'double' 在此 C 程序中存储/打印的精度值不比 'float' 更高?

转载 作者:行者123 更新时间:2023-11-30 18:21:11 28 4
gpt4 key购买 nike

如果我运行这段代码:

float a=1.123456789;
printf("The float value is %f\n",a);
double b=1.123456789876543
printf("The double value is %lf",b);

它打印:

The float value is 1.123457

The double value is 1.123457

第一行是可以理解的,因为 float 的精度约为 6 位十进制数字。但是第二行不应该显示更多的数字吗?我正在使用 Windows 版 Turbo C++ 4.0,如果有帮助的话。

最佳答案

%f 格式说明符默认打印 6 位精度。如果要打印更多数字,则需要在格式说明符中添加精度:

float a=1.123456789;
printf("The float value is %.15f\n",a);
double b=1.123456789876543;
printf("The double value is %.15lf",b);

输出:

The float value is 1.123456835746765
The double value is 1.123456789876543

关于c - 为什么 'double' 在此 C 程序中存储/打印的精度值不比 'float' 更高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54291829/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com