文档章节

java.lang.Math.pow 释义

小紅
 小紅
发布于 2015/04/20 16:21
字数 1651
阅读 37
收藏 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
博文 43
码字总数 30598
作品 0
塘沽
程序员
私信 提问
java.lang.Math.pow 实例

先上实例: System.out.println(Math.pow(1d, 0) + " If the second argument is positive or negative zero, then the result is 1.0."); System.out.println(Math.pow(1d, -0) + " If the s......

小紅
2015/04/20
0
0
Django基础-数据类型和参数表

数据类型表 模块类名称 用途释义 模块类名称 用途释义 Field 字段主类 CharField(Field) 字符串 IntegerField(Field) 整型 FloatField(IntegerField) 浮点数 DecimalField(IntegerField) 小数...

ZHAO_JH
2018/11/30
0
0
2017.11.21-学习笔记 :基本功之操作数组array

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

演员小新
2017/11/21
0
0
2017.11.23-学习笔记 :基本功之操作字符串String

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

演员小新
2017/11/23
0
0
ADO.NET常用方法释义

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

郭璞
2015/12/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 孤独到都和病毒发生了感情了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# 逃跑计划《一万次悲伤 (Live)》 《一万次悲伤 (Live)》- 逃跑计划 手机党少年们想听歌,请使劲儿戳(这里) 现在...

小小编辑
23分钟前
6
2
test

//// main.c// Test//// Created by 吕颖 on 2019/1/16.// Copyright © 2019年 carmen. All rights reserved.//#include <stdio.h>#include <stdlib.h>#include <t......

carmen-ly
今天
1
0
Android webview热门组件agentweb:4.0.2无法自适应的问题

Android webview热门组件agentweb:4.0.2无法自适应的问题 //设置自适应屏幕,两者合用mAgentWeb.getAgentWebSettings().getWebSettings().setUseWideViewPort(true); //将图片调整到适合w...

Gemini-Lin
今天
5
0
如何维护一个自己的 golang doc 服务

本文内容是如何维护一个golang 在线的doc 服务。 1 什么是godoc ? godoc 是 golang 官方提供的文档生成工具, 2 为什么要有godoc ? 我们经常遇到一个问题,就是代码和文档不一致,线上代码版...

鼎铭
今天
5
0
js中的对象创建的模式以及继承模式

对象创建模式: 工厂模式 构造函数模式 原型模式 继承模式 原型式继承 寄生式继承 构造函数 原型式和构造函数的组合式(缺点:运行两次超类类函数,积累函数的属性被挂载在原型对象上和实例对...

莫西摩西
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部