剑指offer——数值的整数次方
2015-08-25 15:57
405 查看
题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
下面来看代码:
下面来看代码:
public class PowerSolution { public static double Power(double base, int exponent) { //当底数为0,指数小于0,则为非法情况。 if (equal(base,0.0)&&exponent<0) { return 0.0f; } //当指数小于0的时候即求该数的倒数再乘方 if (exponent<0) { int absExponent = -exponent; double result = PowerWithNonNegative(base, absExponent); result = 1.0/result; return result; }else { return PowerWithNonNegative(base, exponent); } } //自定义方法来判断两个double的数是不是相等,因为有误差所以在范围内都认为相等 public static boolean equal(double a, double b){ if (((a-b)>-0.00000001)&&((a-b)<0.00000001)) { return true; }else { return false; } } public static double PowerWithNonNegative(double base, int exponent){ if(exponent==0){ return 1; } if(exponent==1){ return base; } double result = PowerWithNonNegative(base,exponent>>1); result*=result; //如果是奇数次方的情况,最终除2余1要与base相乘 if((exponent&0x1)==1){ result *=base; } return result; } }
相关文章推荐
- 在js中创建自己定义的对象和变量还有方法
- cJSON库使用教程
- js中数组(Array)的排序(sort)注意事项
- JavaScript File API应用——如何设计和实现Ajax文件上传组件
- Canvas:使用JavaScript进行基本图形操作与处理
- Js学习笔记(一)
- JS实现灵巧的下拉导航效果代码
- 【jQuery Mobile学习】jQuery Mobile简介
- jsp使用ajax技术与后台通信
- 纯手写的 javascript 万年历控件,复制代码就可以用
- Jquery中cookie的用法
- HTML源码中 form 标签的 enctype 属性
- jquery学习笔记-----插件的编写
- jquery学习笔记-----ajax
- jquery学习笔记-----事件和动画
- pdf转换成html网页的操作方法
- JavaScript面向对象编程学习笔记
- js实现手机网页滑动
- angularJS中的ng-click和ng-change
- js 多语言