将整数提升为C中另一个整数的幂的最有效方法是什么?
// 2^3 pow(2,3) == 8 // 5^5 pow(5,5) == 3125
通过平方求幂。
int ipow(int base, int exp) { int result = 1; for (;;) { if (exp & 1) result *= base; exp >>= 1; if (!exp) break; base *= base; } return result; }
这是对不对称密码中的大量数字进行模幂运算的标准方法。