相关疑难解决方法(0)

C++中的双精度(或pow(2,1000))

我正在使用Project Euler来提高我的C++编码技能,为下一学期我们将要进行的编程挑战做准备(因为他们不让我们使用Python,嘘!).

我在#16,我正试图找到一种方法来保持2°°的真正精确度

例如:

int main(){
    double num = pow(2, 1000);
    printf("%.0f", num):
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

版画

10715086071862673209484250490600018105614050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

缺少大部分数字(来自python):

>>> 2**1000

10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376L

当然,我可以用Python 1衬里编写程序

sum(int(_) for _ in str(2**1000))
Run Code Online (Sandbox Code Playgroud)

这给了我立即的结果,但我正试图找到一种方法在C++中做到这一点.有什么指针吗?(哈哈...)

编辑:

标准库之外的东西对我来说毫无价值 - 在这些竞赛中只允许使用死树代码,而且我可能不会打印10,000行外部代码......

c++ precision exponential

2
推荐指数
1
解决办法
4203
查看次数

标签 统计

c++ ×1

exponential ×1

precision ×1