标签: c++ algorithm
在我的实现下面查找二进制幂运算
isHidden
问题是,当我对输入num = 3和pow = 20运行时,得到-808182895,这是一个负数。我似乎无法弄清楚代码出了什么问题?我可以帮忙吗?
答案 0 :(得分:1)
3 ^ 20的值超过了最大可能的int值2 ^ 31,因此您发生了溢出。克服此限制的最简单方法是使用long long数据类型为最高功率为39(在2 ^ 63附近)的计算提供可能性
long long
对于大功率,需要长整数运算-增强多精度,GMP等