数值的整数次方

来源:互联网 发布:算法工程师 什么专业 编辑:程序博客网 时间:2024/05/17 00:17

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

IDEA

1.指数为整型,则要考虑正数,负数和0的情况;

2.传统思想累乘;减少乘法运算开销用移位

CODE

累乘

public class Solution {    public double Power(double base, int exponent) {        double result=1;        for(int i=0;i<Math.abs(exponent);i++){result*=base;        }        return exponent<0?1.0/result:result;  }}
移位

public class Solution {    public double Power(double base, int exponent) {        double result=1;        int n=Math.abs(exponent);        while(n!=0){if((n&1)!=0){                result*=base;            }            base*=base;            n>>=1;        }        return exponent<0?1.0/result:result;  }}



0 0
原创粉丝点击