gpt4 book ai didi

python - 在 C 中除以大(多)数(得到一个零,当我知道它不为零时)

转载 作者:太空宇宙 更新时间:2023-11-04 01:29:13 25 4
gpt4 key购买 nike

好的,所以我已经在大约 20 秒内证明了在 python 中答案是 -7.98392238758e-07,但为什么我在 C 中不能收到相同的答案(我得到零)。

double x = 1255060;
double y = -1571985829941;

double z = x/y;

printf("\nZ is %f", z);

最初我认为问题是我需要使用 long long 而不是 double,但我仍然收到相同的答案 0。

我很想知道这个恼人问题的解决方案。

最佳答案

该示例给出了预期的答案(在 clang 下):

Z is -0.000001

(与向上舍入的 -7.98392238758e-07 相同)

您可以在 printf 中使用 %e 格式占位符,使其使用科学记数法,就像 python 使用的一样。

double x = 1255060;
double y = -1571985829941;

double z = x/y;

printf("\nX is %f", x);
printf("\nY is %f", y);
printf("\nZ is %e", z);

输出

X is 1255060.000000
Y is -1571985829941.000000
Z is -7.983914e-07

关于python - 在 C 中除以大(多)数(得到一个零,当我知道它不为零时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25834593/

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