gpt4 book ai didi

C++ 与 Python 精度

转载 作者:太空狗 更新时间:2023-10-29 22:17:08 24 4
gpt4 key购买 nike

尝试找出 num^num 的前 k 位数字的问题我用 C++ 和 Python 编写了相同的程序

C++

long double intpart,num,f_digit,k;
cin>>num>>k;
f_digit= pow(10.0,modf(num*log10(num),&intpart)+k-1);
cout<<f_digit;

python

(a,b) = modf(num*log10(num))
f_digits = pow(10,b+k-1)
print f_digits

输入

19423474 9

输出

C++    > 163074912
Python > 163074908

我检查了 C++ 解决方案的结果是准确的。在 http://www.wolframalpha.com/input/?i=19423474^19423474 上查看过

知道如何在 Python 中获得相同的精度吗???

编辑:我知道外部库包可以获得这种精度,但任何 NATIVE 解决方案 ???

最佳答案

Decimal 是一个内置的 python 类,可以正确处理 float (以 10 为底,而不是 IEEE 7somethingsomething 标准)。我不知道它是否支持对数等等。

编辑:确实如此 support logarithms "and all that".

您也可以设置它的精度。默认为 28 个位置,但可以根据需要设置任意大。将其视为小数的 BigInt。

关于C++ 与 Python 精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3846631/

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