数值的整数次方
来源:互联网 发布:基金规模 知乎 编辑:程序博客网 时间:2024/05/16 14:41
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
思路:主要要考虑的是程序在特殊输入情况下的安全性,细节问题
如果底数为零,指数小于0时会出错,直接返回零
比较两个double数时,不能直接使用==,需要精度小于界限再判断相等
指数为负数时结果需要放在分母上
乘积速度还能更优化,result的4次方由2次方的result*result得到
result的8次方由4次方的result*result得到
public class Solution { public double Power(double base, int exponent) { boolean isValid = true; //判断是否有效 if(equals(base,0.0) && exponent < 0){ isValid = false; return 0.0; } boolean flag = false; //记录是否为负数 if(exponent < 0){ flag = true; exponent = Math.abs(exponent); } double result = calculatePower(base,exponent); if(flag) result = 1.0 / result; return result; } //快速获得乘积 public double calculatePower(double base,int exponent){ if(exponent == 0) return 1; if(exponent == 1) return base; double result = calculatePower(base,exponent >> 1); result *= result; if((exponent & 1) == 1){ result *= base; } return result; } public boolean equals(double a,double b){ if(a - b < 0.00000001 && a - b > -0.00000001) return true; return false; }}
阅读全文
0 0
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- html5/Css3 做一个网页康宁家具
- JAVA AQS抽象队列同步器详解
- 739. [网络流24题] 运输问题 费用流/求最大最小值
- 重写与重载
- JS获取URL中参数值(QueryString)的4种方法
- 数值的整数次方
- Linux和win10双系统导致win10时间错误的问题
- ssh 仍然需要密码
- Unity3D获得Android和iOS设备的唯一标识
- linux tomcat命令基本使用
- FormData的使用
- JS比较日期大小
- FIFO的FPGA实现
- 字节序与网络通信问题