面试题16 数值的整数次方
题目:
实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。
解法:
class Solution {
public double myPow(double x, int n) {
if(x==0) return 0;
double res=1;
//Java 代码中 int32 变量 n \in [-2147483648, 2147483647]n∈[−2147483648,2147483647] ,
//因此当 n = -2147483648n=−2147483648 时执行 n = -nn=−n 会因越界而赋值出错。
//解决方法是先将 nn 存入 long 变量 bb ,后面用 bb 操作即可。
long b=n;
if(b<0){
x=1/x;
b