C语言开发中幂计算的具体操作
来源:爱站网时间:2021-03-01编辑:网友分享
开发中快速计算的模块要在大数中才能找到,而我们为了要扩大计算范围,找到了幂计算这个方法,下面请大家跟随爱站技术频道小编一起了解C语言开发中幂计算的具体操作吧!
开发中快速计算的模块要在大数中才能找到,而我们为了要扩大计算范围,找到了幂计算这个方法,下面请大家跟随爱站技术频道小编一起了解C语言开发中幂计算的具体操作吧!
具体方法如下:
题目如下:
给定base,求base的幂exp
只考虑基本功能,不做任何边界条件的判定,可以得到如下代码:
#includeusing namespace std; int cacExp(int base, int exp) { int result = 1; int theBase = 1; while (exp) { if (exp & 0x01) result = result * base; base = base * base; exp = exp >> 1; } return result; } int getRecurExp(int base, int exp) { if (exp == 0) { return 1; } if (exp == 1) { return base; } int result = getRecurExp(base, exp >> 1); result *= result; if (exp & 0x01) result *= base; return result; } int main() { for (int i = 1; i
再来看看数值的整数次方求解方法:
#includeusing namespace std; bool equalZero(double number) { if (number -0.000001) return true; else return false; } double _myPow(double base, int exp) { if (exp == 0) return 1; if (exp == 1) return base; double result = _myPow(base, exp >> 1); result *= result; if (exp & 0x01) result *= base; return result; } double _myPow2(double base, int exp) { if (exp == 0) return 1; double result = 1; while (exp) { if (exp & 0x01) result *= base; base *= base; exp = exp >> 1; } return result; } double myPow(double base, int exp) { if (equalZero(base)) return 0; if (exp == 0) return 1; bool flag = false; if (exp
以上就是爱站技术频道小编介绍的C语言开发中幂计算的具体操作,如果大家还想要学习更多,可以来到js.aizhan.com了解。
上一篇:C语言中连续数组的常见技巧
下一篇:C程序中读取键盘代码的方法