gpt4 book ai didi

c - 此代码如何适用于更大的范围数?

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

如果 d 的范围是 1<= d <= 10^101 并且 n 是 1<= n <= 200。因为 double 的范围是 2.3E-308 到 1.7E+308。当我将输入 11111111111111111111 作为 d 时,当我向终端显示该值时,值 d 变为 11111111111111111000.000 。这意味着它无法正确接受输入,那么它如何给出 10^101 的正确值。我需要知道 d 的 n 次方根。 d 始终采用 p = k^n 的形式。这就是为什么我添加了 pow 函数来知道 n 次方根。但问题是p的范围很大。我正在尝试解决这个问题 Power of Cryptography !

int main(){

double d,n;

scanf("%lf%lf", &n, &d))
{
printf("%lf\n", pow(d, 1/n));
}

return 0;
}

最佳答案

double 不能保存 2.3E-308 到 1.7E+308 之间的所有值,但可以保存这些数字之间的值,精度约为小数点后 15 位地点。

这意味着某些数字(例如您的示例)需要比 8 字节数据可以存储的精度更高的精度。

关于c - 此代码如何适用于更大的范围数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35534667/

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