作业帮 > 综合 > 作业

采用C语言实现计算a的n次方从左至右和从右至左二进制幂算法,需要一个代码示例

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 19:43:08
采用C语言实现计算a的n次方从左至右和从右至左二进制幂算法,需要一个代码示例
NumberType optimized_pow_n(NumberType x,unsigned int n)//优化的计算x的n次方,低位向高位
{
NumberType pw = 1;
while (n > 0) {
if (n & 1) // n & 1 等价于 (n % 2) == 1
pw *= x;
x *= x;
n >>= 1; // n >>= 1 等价于 n /= 2
}
return pw;
}