博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求浮点数的整数次幂
阅读量:6846 次
发布时间:2019-06-26

本文共 1101 字,大约阅读时间需要 3 分钟。

/**     * 求浮点数的整数次幂(不使用 Math.pow() 方法)     * pow(0.99, 365) = 0.025 (每天做少一点,每年积累的仅有40分之一)     * pow(1.01, 365) = 37.78 (每天努力一点,每年收获38倍成果)     *     * @param number double     * @param times  int     * @return double     */    public static double pow(double number, int times) {        // 非正整数处理        if (times == 0) {            return 1;        }        boolean isNegative = times < 0;        if (isNegative) {            times = -times;        }        // 取幂次二进制串        StringBuilder builder = new StringBuilder();        while (times > 0) {            builder.append(times % 2);            times /= 2;        }        String str = builder.toString();        // 计算以2为递增幂次的积        int len = str.length();        double[] record = new double[len];        record[0] = number;        for (int i = 1; i < len; i++) {            record[i] = record[i - 1] * record[i - 1];        }        // 逐项乘积求和        double sum = 1;        for (int i = 0; i < len; i++) {            if ('1' == str.charAt(i)) {                sum *= record[i];            }        }        return isNegative ? 1 / sum : sum;    }

转载地址:http://milul.baihongyu.com/

你可能感兴趣的文章
利用vbs设置Java环境变量
查看>>
Ubuntu离线安装软件包
查看>>
线段树
查看>>
我们都曾经历过:生活教会我的8堂人生课
查看>>
推荐几本最好的web前端开发技术图书
查看>>
ZOJ 1015 Fishing Net(判断弦图)
查看>>
D3D中剔除模式
查看>>
iOS开发系列--App扩展开发
查看>>
mysql 查看用户的权限
查看>>
JavaScript 函数节流和函数去抖应用场景辨析
查看>>
log4j的参数配置(转)
查看>>
[C++][基础]1_变量、常量和基本类型
查看>>
Android Service与Runnable整合并用
查看>>
Php综合手册
查看>>
[轉]javascript 的 location 各種用法
查看>>
测地膨胀和膨胀重建—lhMorpRDilate
查看>>
PHP开发Android应用程序(转)
查看>>
Knockout.js随手记(8)
查看>>
mysql 安装过程中的错误:my-template.ini could not be processed and written to XXX\my.ini.Error code-1...
查看>>
计算A/3,不用除法
查看>>