文档章节

java.lang.Math.pow 释义

小紅
 小紅
发布于 2015/04/20 16:21
字数 1651
阅读 35
收藏 0
点赞 0
评论 0

今天遇到一个prod issue,计算PPL的时候结果为NaN,顺着找代码,发现Math.pow还挺有意思,就把case都理了一遍,记录下。

先上JDK Doc:

pow
public static double pow(double a,
         double b)
Returns the value of the first argument raised to the power of the second argument. Special cases:
(In the foregoing descriptions, a floating-point value is considered to be an integer if and only if it is finite and a fixed point of the method ceil or, equivalently, a fixed point of the method floor. A value is a fixed point of a one-argument method if and only if the result of applying the method to the value is equal to the value.)
The computed result must be within 1 ulp of the exact result. Results must be semi-monotonic.
Parameters:
a - the base.
b - the exponent.
Returns:
the value ab.
if the second argument is a finite even integer, the result is equal to the result of raising the absolute value of the first argument to the power of the second argument
if the second argument is a finite odd integer, the result is equal to the negative of the result of raising the absolute value of the first argument to the power of the second argument
if the second argument is finite and not an integer, then the result is NaN.
the first argument is negative zero and the second argument is a negative finite odd integer, or
the first argument is negative infinity and the second argument is a positive finite odd integer,
the first argument is negative zero and the second argument is less than zero but not a finite odd integer, or
the first argument is negative infinity and the second argument is greater than zero but not a finite odd integer,
the first argument is negative zero and the second argument is a positive finite odd integer, or
the first argument is negative infinity and the second argument is a negative finite odd integer,
the first argument is negative zero and the second argument is greater than zero but not a finite odd integer, or
the first argument is negative infinity and the second argument is less than zero but not a finite odd integer,
the first argument is positive zero and the second argument is less than zero, or
the first argument is positive infinity and the second argument is greater than zero,
the first argument is positive zero and the second argument is greater than zero, or
the first argument is positive infinity and the second argument is less than zero,
the absolute value of the first argument is greater than 1 and the second argument is negative infinity, or
the absolute value of the first argument is less than 1 and the second argument is positive infinity,
the absolute value of the first argument is greater than 1 and the second argument is positive infinity, or
the absolute value of the first argument is less than 1 and the second argument is negative infinity,
If the second argument is positive or negative zero, then the result is 1.0.
If the second argument is 1.0, then the result is the same as the first argument.
If the second argument is NaN, then the result is NaN.
If the first argument is NaN and the second argument is nonzero, then the result is NaN.
Ifthen the result is positive infinity.
Ifthen the result is positive zero.
If the absolute value of the first argument equals 1 and the second argument is infinite, then the result is NaN.
Ifthen the result is positive zero.
Ifthen the result is positive infinity.
Ifthen the result is positive zero.
Ifthen the result is negative zero.
Ifthen the result is positive infinity.
Ifthen the result is negative infinity.
If the first argument is finite and less than zero
If both arguments are integers, then the result is exactly equal to the mathematical result of raising the first argument to the power of the second argument if that result can in fact be represented exactly as a double value.

再上中文释义:

pow
public static double pow(double a,
                         double b)
返回第一个参数的第二个参数次幂的值。特殊情况如下:
如果第二个参数为正 0 或负 0,那么结果为 1.0。
如果第二个参数为 1.0,那么结果与第一个参数相同。
如果第二个参数为 NaN,那么结果为 NaN。
如果第一个参数为 NaN,第二个参数非 0,那么结果为 NaN。
如果那么结果为正无穷大。
第一个参数的绝对值大于 1,并且第二个参数为正无穷大,或者
第一个参数的绝对值小于 1,并且第二个参数为负无穷大,
如果那么结果为正 0。
第一个参数的绝对值大于 1,并且第二个参数为负无穷大,或者
第一个参数的绝对值小于 1,并且第二个参数为正无穷大,
如果第一个参数的绝对值等于1,并且第二个参数为无穷大,那么结果为 NaN。
如果那么结果为正 0。
第一个参数为正 0,并且第二个参数大于 0,或者
第一个参数为正无穷大,并且第二个参数小于 0,
如果那么结果为正无穷大。
第一个参数为正 0,并且第二个参数小于 0,或者
第一个参数为正无穷大,并且第二个参数大于 0,
如果那么结果为正 0。
如果第一个参数为负 0,并且第二个参数大于 0 但不是有限的奇数整数,或者
第一个参数为负无穷大,并且第二个参数小于 0 但不是有限的奇数整数,
如果那么结果为负 0。
第一个参数为负 0,并且第二个参数为正的有限奇数整数,或者
第一个参数为负无穷大,并且第二个参数为负的有限奇数整数,
如果那么结果为正无穷大。
如果第一个参数为负 0,并且第二个参数小于 0 但不是有限的奇数整数,或者
第一个参数为负无穷大,并且第二个参数大于 0 但不是有限的奇数整数,
如果那么结果为负无穷大。
第一个参数为负 0,并且第二个参数为负的有限奇数整数,或者
第一个参数为负无穷大,并且第二个参数为正的有限奇数整数,
如果第一个参数为小于 0 的有限值,
如果第二个参数为有限的偶数整数,那么结果等于第一个参数绝对值的第二个参数次幂的结果。
如果第二个参数为有限的奇数整数,那么结果等于负的第一个参数绝对值的第二个参数次幂的结果。
如果第二个参数为有限的非整数值,那么结果为 NaN。
如果两个参数都为整数,并且结果恰好可以表示为一个 double 值,那么该结果恰好等于第一个参数的第二个参数次幂的算术结果。
(在前面的描述中,当且仅当浮点数为有限值并且是方法 ceil 的定点数,或者是方法 floor 的定点数时,才可以认为浮点值是整数。当且仅当将某个单参数方法应用到某个值的结果等于该值时,该值才是这个方法的定点值。)
计算结果必须在准确结果的 1 ulp 范围内。结果必须具有半单调性。
参数:
a - 底数。
b - 指数。
返回:
值 ab。

计算实例太长,下一篇显示





© 著作权归作者所有

共有 人打赏支持
小紅

小紅

粉丝 13
博文 42
码字总数 30456
作品 0
塘沽
程序员
2017.11.21-学习笔记 :基本功之操作数组array

操作数组的基本方法 老师说,这是基本功,就和练武的马步一样! →点我去看基本的字符串方法 →点我去看ES5新增的数组方法 1.push() 1.释义:向数组的末尾添加内容; 2.参数:一个或多个元素...

演员小新 ⋅ 2017/11/21 ⋅ 0

2017.11.23-学习笔记 :基本功之操作字符串String

操作字符串的基本方法 老师说,这是基本功,就和练武的马步一样! →点我去看ES6新增的字符串方法 →点我去看基本的数组方法 →点我去看ES5新增的数组方法 1.charAt 1.释义:返回在指定位置的...

演员小新 ⋅ 2017/11/23 ⋅ 0

ADO.NET常用方法释义

先列个列表,下面的就是常用的数据库操作的方法。 ExecuteNonQuery 释义:对链接执行的SQL语句,并返回受影响的行数(注意:用它来执行目录操作,如查询数据库的结构,创建表等数据库对象,或...

郭璞 ⋅ 2015/12/18 ⋅ 0

与Android应用程序相关的文件目录都有哪些?

一、方法介绍: 每个Android应用程序都可以通过Context来获取与应用程序相关的目录,这些目录的功能各异,每一个目录都有自己的特点,有时候可能会搞混淆,本文结合android源码注释和实际操作...

Jonson ⋅ 2016/04/26 ⋅ 0

GoldenDict 1.5 RC2 更新 - 最好用的桌面词典软件

最好用的桌面词典软件,界面简洁启动快性能好,支持市面上几乎所有词库格式。实体字典太重?免费商业词典软件启动慢,广告多?网页查词网速慢效率低?专业词典费用太高? 你再也不需要为这些...

韦易笑 ⋅ 2017/05/05 ⋅ 19

Octave 学习笔记

0 Octave简介 Octave是一种高级的解释性编程语言,主要解决线性的或者非线性的计算问题,使用Octave可以快速的实现你的算法。 1 基本操作 在命令行内可以进行简单的加减乘除运算 常用命令及符...

漠简尘 ⋅ 2017/12/11 ⋅ 0

对于数组指针—指针数组;函数指针—函数指针数组,指向函数指针数组的指针,的理解

指针数组 英文释义:array of pointers,即用于存储指针的数组,也就是数组元素都是指针 eg: int arr1[10] 整形指针数组,并且数组的每个元素都是int char **arr2[5] 二级 字符指针数组 数组...

triorwy ⋅ 2017/11/17 ⋅ 0

趣谈js的call和apply两大召唤术

前言 在《趣谈js的bind牌胶水》这篇文章中,我聊到了js的bind胶水,这篇文章我来聊聊js的call和apply这对孪生兄弟。 Why? ——> 为什么会出现apply和call? 在《趣谈js的bind牌胶水》中,我...

hanmin ⋅ 05/21 ⋅ 0

Dubbo集群容错和负载均衡

0、基础知识 Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架...

Idea ⋅ 01/15 ⋅ 0

GC调优---增大Survivor区对象利用率,尽可能降低FGC频率

使用jmeter对服务进行压测,一个需要吞吐量的应用,2000个线程,JVM参数如下: 参数释义:老年代新生代均使用SC系列收集器,Survivor区使用自适应策略,老年代大小为1024M,新生代大小为307...

rickiyeat ⋅ 2017/12/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部