使用C++计算一个非常大的幂
Compute a very big power using C++
我有一个非常大的
e.x. 5^4912
double x, y, z;
我使用了z = pow( x, y )
函数,但它给了我这样的结果:[1.#INF]
然后,我尝试使用一个在4912中循环的for循环,但它给了我类似的数字
-957893823
这似乎是垃圾
我该如何解决这样的问题?
内置的数据类型(int、long甚至double)无法保存该计算的结果;所以你不能用这些。
根据具体的使用情况,我建议使用配件库,例如:
- 大整数库
- GNU MP Bignum库
为了获得大阶乘并计算大值,请使用BigIntegers
c++中的BigInteger
请参阅此链接:http://www.cplusplus.com/forum/general/108176/
相关文章:
- 我从int x[3]得到的一个非常奇怪的输出;
- 一个非常简单的win32套接字代码,但工作错误
- 超过CPU时间限制:当MPI_Sent一个非常大的int*时
- 无法使用crfsuite的C++ API编译一个非常简单的Tagger示例
- 维护/维持两个代码集的风险,一个用于 CPU,一个用于 GPU,需要执行非常相似的功能
- C++中一个非常简单的枚举类错误
- 新的一个一维阵列,非常大,例如60000*60000
- 一个关于在函数中运行未调用语句的非常奇怪的错误
- 我在内存泄漏和字符串方面遇到了一个非常奇怪的问题
- 我正在写一个非常简单的字母评分系统,if语句是最有效的吗?
- 我刚刚创建了一个非常快速的素数排序方法.如何改进?
- 我的调试器说我有一个隔离错误错误,但无法告诉我在哪里,在非常特殊的情况下发生
- 在64位系统上创建一个非常大的数组的缺点是什么
- (c++)代码中一个非常奇怪的问题
- 打印出一个非常小的浮点数
- C++:C字符串、指针和一个非常有趣的while循环
- 在 matlab 中编写一个非常基本的 mex 函数
- 在C 中编写一个非常简单的事件类
- 如何取一个非常大的数的根
- 在使用Qt Creator创建一个非常简单的项目时,在Qt中遇到"segmentation fault"