说到幂指数的运算我们就会用到Math.pow(doublea,doubleb),返回的结果是a的b次方。

在Java中,当我们计算2的n次方时,可以直接用Math.pow来计算。非常方便。

但是,已知一个幂的结果为M和幂的底数a,现在要求幂的指数n。Math中提供的有log(double)方法,但是只能传入一个参数,即M。那么问题来了,如何简单、方便、快捷的达到我们的要求呢?答案如下:

n=Math.log(M)/Math.log(a);

这个方法可以满足我们大多数幂指数的计算,但是每次访问的值和传入的值都是double,自己不想去转的话怎么办,我们有一种新的方案。

方案前提:幂指数的底数是2的倍数。

这里我们就用到了移位运算(移位运算是基于二进制来的,所以方案前提就是这个依据),如我们求2的3次方,我们可以用2<

4的2次方,我们先要把4转化为2的2次方,再来2<

下面这个方法实现的效果是我们传入一个2的倍数相加的两个数,比如12(是4+8),我们把它自动计算出[4,8]

再比如18,我们把它计算出[2,16]

再比如22,我们把它计算出[2,4,16]

总结

以上就是本文关于java中幂指数值的运算代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

原文链接:http://blog.csdn.net/pearyangyang/article/details/48808089

java怎么计算幂函数,java中幂指数值的运算代码解析相关推荐

  1. java中怎么实现指数幂,java中幂指数值的运算代码解析

    说到幂指数的运算我们就会用到Math.pow(doublea,doubleb),返回的结果是a的b次方. 在Java中,当我们计算2的n次方时,可以直接用Math.pow来计算.非常方便. 但是,已知 ...

  2. java的幂运算_java中幂指数值的运算

    说到幂指数的运算我们就会用到Math.pow(double a,double b),返回的结果是a的b次方. 这个方法可以满足我们大多数幂指数的计算,但是每次访问的值和传入的值都是double,自己不 ...

  3. Java如何获取JSON数据中的值 备忘

    Java如何获取JSON数据中的值 取出JsonArray中的object(orderNo) 嵌套 JsonObeject {    JsonObeject {       JsonArray [Ob ...

  4. 【JSON】java获取json数组格式中的值

    [JSON]java获取json数组格式中的值 前情回顾 java获取json数组格式中的值 参考资料 前情回顾 写项目的中间需要解决下面这样问题: 1.从kafka中读取数据,读取出来的是json格 ...

  5. python中sort函数源代码_Python中sort和sorted函数代码解析

    Python中sort和sorted函数代码解析 本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sor ...

  6. Python中sort和sorted函数代码解析

    Python中sort和sorted函数代码解析 本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sor ...

  7. biblatex中标注压缩的处理代码解析

    biblatex中标注压缩的处理代码解析 %首先讲一下分析的方法,tex中查看宏的定义方便,但要了解宏内部的逻辑并不容易,没有非常方便的调试手段,因此要分析其内部的逻辑,需要手动的分析整个宏的运行过程 ...

  8. java不可变类型_Java中的值类型:为什么它们不可变?

    java不可变类型 值类型不必是不变的. 但是他们是. 在上一篇文章中,我讨论了Java中指针与引用之间的区别以及如何传递方法参数(按值传递或按引用传递). 这些与Java中尚不存在的值类型密切相关( ...

  9. Java 8:对集合中的值进行排序

    意识到Java 8将在接下来的几周内发布其GA版本之后,我认为现在是时候来看看它了,在过去的一周里,我一直在阅读Venkat Subramaniam的书 . 我要讲的是第3章,其中涉及对人员集合进行排 ...

最新文章

  1. redis windows版本的使用
  2. LabelImg 批量生成标注图片文件夹序号(起始值+终值)
  3. MySQL分组函数和distinct搭配使用
  4. docker-compose初试及命令基础
  5. for range 经典问题
  6. javaone_JavaOne 2012:掌握Java部署
  7. 【转】ABP源码分析四十三:ZERO的本地化
  8. QT5主界面“关闭窗口”按钮设置弹出提示询问信息
  9. JavaScript学习总结(12)——2016 年 7 个顶级 JavaScript 框架
  10. python3.7模块内容_python3.7 time模块
  11. HTML5移动Web开发(六)——定义一个内容策略
  12. java学生信息管理系统代码_java学生信息管理系统源代码
  13. 佛山ABB服务器维修,佛山南海ABB软启动器报故障服务点
  14. 联想微型计算机改win7,联想win10改win7如何实现?联想电脑Win10改Win7方法详解
  15. 许鹏:从零开始学习,Apache Spark源码走读
  16. 生成arp报文的verilog实现
  17. 可汗学院公开课——统计学学习:47-61
  18. 读取网络时间完整代码
  19. 樊登读书搞定读后感_《读懂一本书:樊登读书法》_精选读后感_500字
  20. 人工神经网络及其应用,人工神经网络的实现

热门文章

  1. 使用javascript计算1加到100的结果
  2. atmega32u4-QMK小键盘调试记录
  3. excel怎么汇总数据?
  4. 计算机维护工具盘,HB520WZ计算机维护工具盘(FBA文件,2013.10.18)
  5. mq消费者组_「架构师MQ进阶」RocketMQ源码分析(四)- 源代码包结构分析
  6. 关于学校毕业论文查重率的问题
  7. 用友账套和报表服务器显示不同,用友T6不同账套中报表汇总
  8. 1813 方块游戏(枚举)
  9. Excel文档下载功能与导入功能实现
  10. Let's-python视频教程发布专贴(更新下载方式: 纳米,电驴,迅雷快传)(2012年10月07日更新纳米部分资源)...