C++ 具有两个cpp_int值的boost::multiprecision::pow

C++ 具有两个cpp_int值的boost::multiprecision::pow,c++,boost,pow,C++,Boost,Pow,有没有办法使用带有两个cpp_int值的boost::multiprecision::pow作为参数?我在文档中所能找到的所有参数都是cpp_int类型的基参数和int类型的指数参数。这似乎非常有限 评论:这有什么限制?你会提升到超过MAXINT的幂吗?怎么做 问: “如何”是什么意思?多精度库处理如此庞大的数据不是很重要吗 不。像这样庞大的数字在无损精度下几乎没有任何意义 假设我们从一个相当小的数字开始,比如10。不适合64位整数的最小指数为2^64。因此,数字是10^(2^64),大约是18

有没有办法使用带有两个cpp_int值的boost::multiprecision::pow作为参数?我在文档中所能找到的所有参数都是cpp_int类型的基参数和int类型的指数参数。这似乎非常有限


评论:这有什么限制?你会提升到超过MAXINT的幂吗?怎么做

问:

“如何”是什么意思?多精度库处理如此庞大的数据不是很重要吗

不。像这样庞大的数字在无损精度下几乎没有任何意义

假设我们从一个相当小的数字开始,比如
10
。不适合64位整数的最小指数为2^64。因此,数字是10^(2^64),大约是18446744073709551617个十进制数字 ≈ 1.84467×10^19位十进制数字

如果要打印,你需要大约1.4757×10^11公吨的纸张。这大致相当于地球上的总生物量(≈ 8×10^13千克)

现在,你当然不傻了,你不会把它打印出来的!您只需要将其安装到RAM中,这就是为什么您已经开始为您的7.6598 EB RAM提供众筹资金的原因。更不用说它的电力供应了,因为一个小时的成本约为7千兆瓦时,相当于小男孩核弹的一半能量

你能做什么 Boost Multiprecision确实允许您使用大整数的精确无损表示,但系统资源限制了总容量

如图所示,对于这些类型,超过64位整数的指数是不合理的

当然,您可以使用任意精度的十进制/二进制浮点表示法(当然,仍然遵守物理和经济学的限制),如
boost::multiprecision::mpf\u float\u 1000


评论:这有什么限制?你会提升到超过MAXINT的幂吗?怎么做

问:

“如何”是什么意思?多精度库处理如此庞大的数据不是很重要吗

不。像这样庞大的数字在无损精度下几乎没有任何意义

假设我们从一个相当小的数字开始,比如
10
。不适合64位整数的最小指数为2^64。因此,数字是10^(2^64),大约是18446744073709551617个十进制数字 ≈ 1.84467×10^19位十进制数字

如果要打印,你需要大约1.4757×10^11公吨的纸张。这大致相当于地球上的总生物量(≈ 8×10^13千克)

现在,你当然不傻了,你不会把它打印出来的!您只需要将其安装到RAM中,这就是为什么您已经开始为您的7.6598 EB RAM提供众筹资金的原因。更不用说它的电力供应了,因为一个小时的成本约为7千兆瓦时,相当于小男孩核弹的一半能量

你能做什么 Boost Multiprecision确实允许您使用大整数的精确无损表示,但系统资源限制了总容量

如图所示,对于这些类型,超过64位整数的指数是不合理的


当然,您可以使用任意精度的十进制/二进制浮点表示法(当然,仍然尊重物理学和经济学的限制),像
boost::multiprecision::mpf\u float\u 1000
你可以使用boost::multiprecision::float和相应的boost::multi-precision::pow实现。

你可以使用boost::multiprecision::float和相应的boost::multi-precision::pow实现。

这有什么限制?你会提升到超过MAXINT的幂吗?如何?你说的“如何”是什么意思?多精度库处理如此庞大的数据不是很有意义吗?有趣的是,超几何级数扩展可能有一个错误:-我将把它留在这里,以防您遇到这个问题并想向上游报告。但我可能遗漏了一些内容。请指定,您需要哪些附加功能。这是如何限制的?你会提升到超过MAXINT的幂吗?如何?你说的“如何”是什么意思?多精度库处理如此庞大的数据不是很有意义吗?有趣的是,超几何级数扩展可能有一个错误:-我将把它留在这里,以防您遇到这个问题并想向上游报告。不过,我可能遗漏了一些内容。请指定,您需要哪些附加功能。作为熟悉大数字的人,我同意这个答案+1作为一个熟悉大数的人,我同意这个答案+1.