gpt4 book ai didi

c - 将 '/' 与 long double 一起使用?

转载 作者:太空狗 更新时间:2023-10-29 17:16:58 25 4
gpt4 key购买 nike

我试图理解为什么以下列方式使用带有 long double 的“/”会导致 0.000000 值,而带有 double 的相同代码却不会

double d = (double)total_results / (double)total_points;

给出值 0.785403 但是

long double d = (long double)total_results / (long double)total_points;

给出值 0.000000。我正在尝试获取“total_results/total_points”的最准确值

编辑:最后的错误只是我使用 '%f' 而不是 '%Lf' 输出它

之前

printf("Running on %d thread(s), results is %f.\n", NUM_THREADS, d);    

之后

printf("Running on %d thread(s), results is %Lf.\n", NUM_THREADS, d); 

最佳答案

这显然只是一个猜测,但是你是如何输出结果的呢?如果您使用带有错误字段说明符的 printf,打印错误的零绝对是可能的结果。使用 g++,当我应该得到“0.75”时,我尝试了“%lf”并得到了“-2.0000”。右说明符是“%Lf”,大写 L。

关于c - 将 '/' 与 long double 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9161423/

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