public final class Math extends Object
Math
包含用于执行基本的数字运算等基本指数、对数、平方根法、三角函数。
不像一些StrictMath
类数值方法,所有班级Math
等效功能的实现是未定义的返回相同结果的点位。这种放松允许更好的实现,严格的再现性是不需要的实现。
默认情况下,许多的Math
方法简单地调用其执行StrictMath
等效方法。代码生成器是鼓励使用特定平台的本地库或微处理器的指令,在有条件的情况下,提供Math
方法实现更高的性能。这种高性能的实现还必须符合Math
规格。
实施规范受关注的两个性能质量,对返回的结果和单调性方法的准确度。对浮点Math
方法的精度在空进行衡量,最后单位。对于一个给定的浮点格式,一个具体的实数值的ulp是两个浮点值的曝光数值之间的距离。当讨论一个方法的准确性作为一个整体,而不是在一个特定的说法,数进行引用在任何参数的最糟糕的错误。如果一个方法总是有误差小于0.5进行,该方法总是返回浮点数最准确的结果;这种方法是无效的正确的圆。一个正确的圆的方法通常是最好的一个浮点逼近可以,但是,它是不切实际的许多浮点方法是正确的。相反,对于Math
类,较大的误差界进行1或2是允许一定的方法。通俗地说,有1的小误差,在准确的结果是一个可数,确切的结果应作为计算结果返回;否则,两个浮点值的支架准确结果可以返回。对于精确的结果,大的幅度,支架的端点之一可能是无限的。除了在个别参数的准确性,保持适当的方法之间的关系,在不同的参数也很重要。因此,大多数超过0.5小误差的方法必须是空的半单调:每当数学函数是非递减的,所以是浮点值,同样的,每当数学函数是非不断,所以是浮点值。不是所有的近似,有1个小精度会自动满足单调性的要求。
该平台采用带符号的二进制补码整数运算与int和long的原始类型。开发人员应该选择原始类型,以确保算术运算始终产生正确的结果,在某些情况下,这意味着操作不会溢出的计算值的范围内。最好的做法是选择原始类型和算法,以避免溢出。在规模int
或long
和溢出错误需要被检测的情况下,该方法addExact
,subtractExact
,multiplyExact
,和toIntExact
抛出ArithmeticException
当结果溢出。对于其他算术运算,如划分,绝对值,增量,递减,和否定溢出只发生一个特定的最小值或最大值,并应以适当的最小或最大值检查。
Modifier and Type | Field and Description |
---|---|
static double |
E
的
double 值比任何其他的努尔紧密,自然对数的基础。
|
static double |
PI
的
double 值比其他任何接近零圆周率,圆周和直径的比值。
|
Modifier and Type | Method and Description |
---|---|
static double |
abs(double a)
返回一个
double 值的绝对值。
|
static float |
abs(float a)
返回一个
float 值的绝对值。
|
static int |
abs(int a)
返回一个值的绝对值
int 。
|
static long |
abs(long a)
返回一个
long 值的绝对值。
|
static double |
acos(double a)
返回一个值的余弦;返回的角度范围在0到零圆周率。
|
static int |
addExact(int x, int y)
返回参数的总和,抛出一个异常,如果结果溢出一个
int 。
|
static long |
addExact(long x, long y)
返回参数的总和,抛出一个异常,如果结果溢出
long 。
|
static double |
asin(double a)
返回一个值的圆弧正弦;返回的角度范围在零圆周率/ 2通过空圆周率/ 2。
|
static double |
atan(double a)
返回一个值的反正切值;返回的角度范围在零圆周率/ 2通过空圆周率/ 2。
|
static double |
atan2(double y, double x)
返回从直角坐标转换角空θ(
x ,
y )极坐标(r, 空θ)。
|
static double |
cbrt(double a)
返回一个值
double 立方根。
|
static double |
ceil(double a)
返回最小(接近负无穷大)
double 值是大于或等于的说法,等于一个数学整数。
|
static double |
copySign(double magnitude, double sign)
用第二个浮点参数的符号返回第一个浮点参数。
|
static float |
copySign(float magnitude, float sign)
用第二个浮点参数的符号返回第一个浮点参数。
|
static double |
cos(double a)
返回一个角度的三角余弦。
|
static double |
cosh(double x)
返回一个
double 双曲余弦值。
|
static int |
decrementExact(int a)
返回参数减一,抛出一个异常,如果结果溢出一个
int 。
|
static long |
decrementExact(long a)
返回参数减一,抛出一个异常,如果结果溢出
long 。
|
static double |
exp(double a)
返回欧拉数努尔提升到一
double 价值动力。
|
static double |
expm1(double x)
返回nulle
X - 1。
|
static double |
floor(double a)
收益最大(最接近正无穷大)
double 值小于或等于该参数等于数学整数。
|
static int |
floorDiv(int x, int y)
收益最大(最接近正无穷大)
int 值小于或等于代数商。
|
static long |
floorDiv(long x, long y)
收益最大(最接近正无穷大)
long 值小于或等于代数商。
|
static int |
floorMod(int x, int y)
返回参数的
int 地板模数。
|
static long |
floorMod(long x, long y)
返回参数的
long 地板模数。
|
static int |
getExponent(double d)
返回用于表示一个
double 偏指数。
|
static int |
getExponent(float f)
返回用于表示一个
float 偏指数。
|
static double |
hypot(double x, double y)
返回sqrt(nullx
二 + nully
二)没有中间的上溢或下溢。
|
static double |
IEEEremainder(double f1, double f2)
计算剩余操作两参数由IEEE 754标准规定。
|
static int |
incrementExact(int a)
返回参数递增1,抛出一个异常,如果结果溢出一个
int 。
|
static long |
incrementExact(long a)
返回参数递增1,抛出一个异常,如果结果溢出
long 。
|
static double |
log(double a)
收益率的自然对数(基地努尔)一
double 价值。
|
static double |
log10(double a)
返回以10为底的对数的一
double 价值。
|
static double |
log1p(double x)
返回参数和1的总和的自然对数。
|
static double |
max(double a, double b)
返回两个
double 值越大。
|
static float |
max(float a, float b)
返回两个
float 值越大。
|
static int |
max(int a, int b)
返回两个
int 值越大。
|
static long |
max(long a, long b)
返回两个
long 值越大。
|
static double |
min(double a, double b)
返回两个
double 值较小。
|
static float |
min(float a, float b)
返回两个
float 值较小。
|
static int |
min(int a, int b)
返回两个
int 值较小。
|
static long |
min(long a, long b)
返回两个
long 值较小。
|
static int |
multiplyExact(int x, int y)
返回参数的产品,抛出一个异常,如果结果溢出一个
int 。
|
static long |
multiplyExact(long x, long y)
返回参数的产品,抛出一个异常,如果结果溢出
long 。
|
static int |
negateExact(int a)
返回自变量的否定,抛出一个异常,如果结果溢出一个
int 。
|
static long |
negateExact(long a)
返回自变量的否定,抛出一个异常,如果结果溢出
long 。
|
static double |
nextAfter(double start, double direction)
返回在第二个参数的方向上与第一个参数相邻的浮点数。
|
static float |
nextAfter(float start, double direction)
返回在第二个参数的方向上与第一个参数相邻的浮点数。
|
static double |
nextDown(double d)
返回邻近
d 在负无穷大的方向的浮点值。
|
static float |
nextDown(float f)
返回邻近
f 在负无穷大的方向的浮点值。
|
static double |
nextUp(double d)
返回邻近
d 在正无穷大方向的浮点值。
|
static float |
nextUp(float f)
返回邻近
f 在正无穷大方向的浮点值。
|
static double |
pow(double a, double b)
返回将第一个参数的值提高到第二个参数的功率。
|
static double |
random()
返回一个
double 值与一个积极的迹象,大于或等于
0.0 小于
1.0 。
|
static double |
rint(double a)
返回
double 值是在最接近的值的参数,相当于一个数学整数。
|
static long |
round(double a)
返回最近的
long 的说法,与舍入到正无穷。
|
static int |
round(float a)
返回最近的
int 的说法,与舍入到正无穷。
|
static double |
scalb(double d, int scaleFactor)
返回
d ×2
scaleFactor 圆润好像由一个单一的正确舍入的浮点乘法的双重价值的成员组。
|
static float |
scalb(float f, int scaleFactor)
返回
f ×2
scaleFactor 圆润好像由一个单一的正确舍入的浮点乘法的float值集成员。
|
static double |
signum(double d)
返回自变量的符号函数;零如果参数为零,1如果参数大于零,1如果参数小于零。
|
static float |
signum(float f)
返回自变量的符号函数;零如果参数为零,1.0f如果参数大于零,-1.0f如果参数小于零。
|
static double |
sin(double a)
返回一个角度的三角正弦。
|
static double |
sinh(double x)
返回一个
double 的双曲正弦值。
|
static double |
sqrt(double a)
返回正平方根入一
double 价值。
|
static int |
subtractExact(int x, int y)
返回参数的差异,抛出一个异常,如果结果溢出一个
int 。
|
static long |
subtractExact(long x, long y)
返回参数的差异,抛出一个异常,如果结果溢出
long 。
|
static double |
tan(double a)
返回一个角的三角切线。
|
static double |
tanh(double x)
返回一个
double 的双曲正切值。
|
static double |
toDegrees(double angrad)
将一个测量角度弧度近似等效的角度衡量度。
|
static int |
toIntExact(long value)
返回的
long 参数的值;抛出一个异常,如果值溢出一个
int 。
|
static double |
toRadians(double angdeg)
转换一个角度衡量度的近似等效用弧度测量的角。
|
static double |
ulp(double d)
返回一个小规模的争论。
|
static float |
ulp(float f)
返回一个小规模的争论。
|
public static final double E
double
值比任何其他的努尔紧密,自然对数的基础。
public static final double PI
double
值比其他任何接近零圆周率,圆周和直径的比值。
public static double sin(double a)
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
a
-角度、弧度。
public static double cos(double a)
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
a
-角度、弧度。
public static double tan(double a)
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
a
-角度、弧度。
public static double asin(double a)
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
a
的弧弦是要返回的值。
public static double acos(double a)
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
a
的余弦是要返回的值。
public static double atan(double a)
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
a
的圆弧切线是要返回的值。
public static double toRadians(double angdeg)
angdeg
一角,度
angdeg
测量。
public static double toDegrees(double angrad)
cos(toRadians(90.0))
完全平等的
0.0
。
angrad
-角度、弧度
angrad
测量。
public static double exp(double a)
double
价值动力。特殊情况:
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
a
-指数提高到努尔。
a
,哪里努尔是自然对数的底数。
public static double log(double a)
double
价值。特殊情况:
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
a
-价值
a
,
a
的自然对数。
public static double log10(double a)
double
价值。特殊情况:
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
a
-价值
a
。
public static double sqrt(double a)
double
价值。特殊情况:
double
。
a
-价值。
a
正平方根。如果参数是南或小于零,结果是楠。
public static double cbrt(double a)
double
立方根。正有限
x
,
cbrt(-x) == -cbrt(x)
;就是一个负值的立方根是负的立方根,价值的大小。特殊情况:
计算结果必须在准确结果的1无铅汽油。
a
-价值。
a
立方根。
public static double IEEEremainder(double f1, double f2)
f1 - f2
× nulln,哪里nulln最接近的商
f1/f2
精确数学价值的数学整数,如果两个数学整数同样接近
f1/f2
,然后nulln是整数,甚至。如果其余为零,它的符号与第一个参数的符号相同。特殊情况:
f1
-股息。
f2
-除数。
f1
除以
f2
。
public static double ceil(double a)
double
值是大于或等于的说法,等于一个数学整数。特殊情况:
Math.ceil(x)
价值正是
-Math.floor(-x)
价值。
a
-价值。
public static double floor(double a)
double
值小于或等于该参数等于数学整数。特殊情况:
a
-价值。
public static double rint(double a)
double
值是在最接近的值的参数,相当于一个数学整数。如果两
double
值是数学整数同样接近,结果甚至是整数值。特殊情况:
a
-
double
价值。
a
等于数学整数。
public static double atan2(double y, double x)
x
,
y
)极坐标(r, 空θ)。这种方法计算的零相位θ计算反正切的
y/x
范围中的空对空圆周率圆周率。特殊情况:
double
价值。double
价值。double
值接近零圆周率/ 2。double
值接近零圆周率/ 2。double
值接近零圆周率/ 4。double
价值。double
值接近零圆周率/ 4。double
值最接近3×空圆周率/ 4。计算结果必须在2进行的准确结果。结果必须是半单调的。
y
-纵坐标
x
-横坐标坐标
public static double pow(double a, double b)
double
价值。(在前面的描述中,浮点值是当且仅当它是有限的,一个固定点的方法ceil
或者,等价地,一个固定点的方法floor
。值是一个固定点一一论证方法如果运用方法值的结果是相等的该值是一个整数)。
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
a
-基础。
b
-指数。
a
b
。
public static int round(float a)
int
的说法,与舍入到正无穷。
特殊情况:
Integer.MIN_VALUE
值,结果等于Integer.MIN_VALUE
价值。Integer.MAX_VALUE
值,结果等于Integer.MAX_VALUE
价值。a
-一个浮点值被舍入到整数。
int
价值。
Integer.MAX_VALUE
,
Integer.MIN_VALUE
public static long round(double a)
long
的说法,与舍入到正无穷。
特殊情况:
Long.MIN_VALUE
值,结果等于Long.MIN_VALUE
价值。Long.MAX_VALUE
值,结果等于Long.MAX_VALUE
价值。a
-一个浮点值被舍入到
long
。
long
价值。
Long.MAX_VALUE
,
Long.MIN_VALUE
public static double random()
double
值与一个积极的迹象,大于或等于
0.0
小于
1.0
。返回值与选择伪随机(大约),范围分布均匀。
第一次调用该方法时,它将创建一个新的伪随机数发生器,完全象的表达
new java.util.Random()
这个新的伪随机数发生器是用此后所有调用此方法并用于其他地方。
此方法是正确同步的,以允许通过一个以上的线程正确使用。然而,如果多个线程需要一个伟大的速度生成伪随机数,它可以减少每个线程都有它自己的伪随机数发生器的争夺。
double
大于或等于和小于
1.0
0.0
。
Random.nextDouble()
public static int addExact(int x, int y)
int
。
x
-第一价值
y
-二值
ArithmeticException
-如果结果溢出int
public static long addExact(long x, long y)
long
。
x
-第一价值
y
-二值
ArithmeticException
-如果结果溢出长
public static int subtractExact(int x, int y)
int
。
x
-第一价值
y
-减去第二值
ArithmeticException
-如果结果溢出int
public static long subtractExact(long x, long y)
long
。
x
-第一价值
y
-减去第二值
ArithmeticException
-如果结果溢出长
public static int multiplyExact(int x, int y)
int
。
x
-第一价值
y
-二值
ArithmeticException
-如果结果溢出int
public static long multiplyExact(long x, long y)
long
。
x
-第一价值
y
-二值
ArithmeticException
-如果结果溢出长
public static int incrementExact(int a)
int
。
a
-价值增量
ArithmeticException
-如果结果溢出int
public static long incrementExact(long a)
long
。
a
-价值增量
ArithmeticException
-如果结果溢出长
public static int decrementExact(int a)
int
。
a
-价值递减
ArithmeticException
-如果结果溢出int
public static long decrementExact(long a)
long
。
a
-价值递减
ArithmeticException
-如果结果溢出长
public static int negateExact(int a)
int
。
a
-否定的价值
ArithmeticException
-如果结果溢出int
public static long negateExact(long a)
long
。
a
-价值的否定
ArithmeticException
-如果结果溢出长
public static int toIntExact(long value)
long
参数的值;抛出一个异常,如果值溢出一个
int
。
value
-长值
ArithmeticException
-如果
argument
溢出int
public static int floorDiv(int x, int y)
int
值小于或等于代数商。有一个特殊的情况下,如果股息是
Integer.MIN_VALUE和除数是
-1
,然后整数溢出时,结果是等于
Integer.MIN_VALUE
。
正整数除法操作下的圆为零的四舍五入模式(截断)。此操作,而不是作用在圆负无穷大(地板)四舍五入模式。当精确的结果为负值时,四舍五入模式给出了不同的结果比截断。
floorDiv
结果和/
算子是相同的。floorDiv(4, 3) == 1
和(4 / 3) == 1
。floorDiv
返回整数小于或等于商和/
运算符将返回最接近zero.floorDiv(-4, 3) == -2
,而(-4 / 3) == -1
。x
-股息
y
-除数
int
值小于或等于代数商。
y
ArithmeticException
除数为零
floorMod(int, int)
,
floor(double)
public static long floorDiv(long x, long y)
long
值小于或等于代数商。有一个特殊的情况下,如果股息是
Long.MIN_VALUE和除数是
-1
,然后整数溢出时,结果是等于
Long.MIN_VALUE
。
正整数除法操作下的圆为零的四舍五入模式(截断)。此操作,而不是作用在圆负无穷大(地板)四舍五入模式。当精确的结果为负值时,四舍五入模式给出了不同的结果比截断。
例如,看到floorDiv(int, int)
。
x
-股息
y
-除数
long
值小于或等于代数商。
y
ArithmeticException
除数为零
floorMod(long, long)
,
floor(double)
public static int floorMod(int x, int y)
int
地板模数。
地板弹性模量x - (floorDiv(x, y) * y)
,具有相同的符号作为除数y
,并在-abs(y) < r < +abs(y)
范围。
floorDiv
和floorMod
之间的关系是这样的:
floorDiv(x, y) * y + floorMod(x, y) == x
在floorMod
和%
算子值之间的差异是由于差异floorDiv
返回整数小于或等于商和/
操作符返回最接近零的整数。
实例:
floorMod
结果和%
算子是相同的。floorMod(4, 3) == 1
; 和(4 % 3) == 1
%
operator.floorMod(+4, -3) == -2
; 和(+4 % -3) == +1
floorMod(-4, +3) == +2
; 和(-4 % +3) == -1
floorMod(-4, -3) == -1
; 和(-4 % -3) == -1
如果参数是未知的积极迹象模量需要它可以计算为(floorMod(x, y) + abs(y)) % abs(y)
。
x
-股息
y
-除数
x - (floorDiv(x, y) * y)
y
ArithmeticException
除数为零
floorDiv(int, int)
public static long floorMod(long x, long y)
long
地板模数。
地板弹性模量x - (floorDiv(x, y) * y)
,具有相同的符号作为除数y
,并在-abs(y) < r < +abs(y)
范围。
floorDiv
和floorMod
之间的关系是这样的:
floorDiv(x, y) * y + floorMod(x, y) == x
例如,看到floorMod(int, int)
。
x
-股息
y
-除数
x - (floorDiv(x, y) * y)
y
ArithmeticException
除数为零
floorDiv(long, long)
public static int abs(int a)
int
。如果参数不是否定的,则返回参数。如果参数是否定的,则返回参数的否定。
注意:如果参数等于Integer.MIN_VALUE
价值,最负int
值表示,其结果是相同的值,这是消极的。
a
-参数的绝对值是确定的
public static long abs(long a)
long
值的绝对值。如果参数不是否定的,则返回参数。如果参数是否定的,则返回参数的否定。
注意:如果参数等于Long.MIN_VALUE
价值,最负long
值表示,其结果是相同的值,这是消极的。
a
-参数的绝对值是确定的
public static float abs(float a)
float
值的绝对值。如果参数不是否定的,则返回参数。如果参数是否定的,则返回参数的否定。特殊情况:换句话说
Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))
a
-参数的绝对值是确定的
public static double abs(double a)
double
值的绝对值。如果参数不是否定的,则返回参数。如果参数是否定的,则返回参数的否定。特殊情况:换句话说
Double.longBitsToDouble((Double.doubleToLongBits(a)<<1)>>>1)
a
-参数的绝对值是确定的
public static int max(int a, int b)
int
值越大。就是说,结果是参数接近
Integer.MAX_VALUE
值。如果参数具有相同的值,结果是相同的值。
a
-争论。
b
-另一种说法。
a
和
b
较大。
public static long max(long a, long b)
long
值越大。就是说,结果是参数接近
Long.MAX_VALUE
值。如果参数具有相同的值,结果是相同的值。
a
-争论。
b
-另一种说法。
a
和
b
较大。
public static float max(float a, float b)
float
值越大。也就是说,结果是参数更接近正无穷大。如果参数具有相同的值,结果是相同的值。如果这两值是楠,那么结果就是楠。与数值比较运算符,这种方法认为负零是严格小于正零。如果一个参数是正零和另一个负零,则结果为正零。
a
-争论。
b
-另一种说法。
a
和
b
较大。
public static double max(double a, double b)
double
值越大。也就是说,结果是参数更接近正无穷大。如果参数具有相同的值,结果是相同的值。如果这两值是楠,那么结果就是楠。与数值比较运算符,这种方法认为负零是严格小于正零。如果一个参数是正零和另一个负零,则结果为正零。
a
-争论。
b
-另一种说法。
a
和
b
较大。
public static int min(int a, int b)
int
值较小。那就是结果的说法更接近
Integer.MIN_VALUE
价值。如果参数具有相同的值,结果是相同的值。
a
-争论。
b
-另一种说法。
a
和
b
较小。
public static long min(long a, long b)
long
值较小。就是说,结果是参数接近
Long.MIN_VALUE
价值。如果参数具有相同的值,结果是相同的值。
a
-争论。
b
-另一种说法。
a
和
b
较小。
public static float min(float a, float b)
float
值较小。也就是说,结果是接近负无穷大的值。如果参数具有相同的值,结果是相同的值。如果这两值是楠,那么结果就是楠。与数值比较运算符,这种方法认为负零是严格小于正零。如果一个参数是正零和另一个是负零,则结果为负零。
a
-争论。
b
-另一种说法。
a
和
b
较小。
public static double min(double a, double b)
double
值较小。也就是说,结果是接近负无穷大的值。如果参数具有相同的值,结果是相同的值。如果这两值是楠,那么结果就是楠。与数值比较运算符,这种方法认为负零是严格小于正零。如果一个参数是正零和另一个是负零,则结果为负零。
a
-争论。
b
-另一种说法。
a
和
b
较小。
public static double ulp(double d)
double
值是正距离这个浮点值和
double
价值的下一个较大的幅度之间。注意,非南nullx,
ulp(-x) == ulp(x)
。
特殊情况:
Double.MIN_VALUE
。Double.MAX_VALUE
,然后结果等于2九百七十一。d
-浮点值的ULP要返回
public static float ulp(float f)
float
值是正距离这个浮点值和
float
价值的下一个较大的幅度之间。注意,非南nullx,
ulp(-x) == ulp(x)
。
特殊情况:
Float.MIN_VALUE
。Float.MAX_VALUE
,然后结果等于2一百零四。f
-浮点值的ULP要返回
public static double signum(double d)
特殊情况:
d
-浮点值的正负号要回来
public static float signum(float f)
特殊情况:
f
-浮点值的正负号要回来
public static double sinh(double x)
double
的双曲正弦值。对nullx双曲正弦定义为(nullenullx - enullx)/ 2,努尔是
Euler's number。
特殊情况:
计算结果必须在2.5进行的准确结果。
x
-数的双曲正弦函数要返回。
x
双曲正弦。
public static double cosh(double x)
double
双曲余弦值。对nullx双曲余弦的定义是(nullenullx + enullx)/ 2,努尔是
Euler's number
特殊情况:
1.0
。计算结果必须在2.5进行的准确结果。
。x
-数的双曲余弦值被返回。
x
双曲余弦。
public static double tanh(double x)
double
的双曲正切值。对nullx双曲正切的定义是(nullenullx - enullx)/(nullenullx + enullx),换句话说,
sinh(x) /
cosh(x)。注意确切的tanh函数的绝对值总是小于1。
特殊情况:
+1.0
。-1.0
。计算结果必须在2.5进行的准确结果。对任何有限的输入tanh
结果必须有一个绝对值小于或等于1。注意,一旦丹确切的结果是在1 / 2的±1限值的ULP,正确签名±1.0
应该归还。
x
-数的双曲正切要返回。
x
双曲正切。
public static double hypot(double x, double y)
特殊情况:
计算结果必须在准确结果的1无铅汽油。如果一个参数保持不变,则在另一个参数中的结果必须是半单调的。
x
-价值
y
-价值
public static double expm1(double x)
expm1(x)
+ 1准确的数字是更接近真实的结果比
exp(x)
nulle
X。
特殊情况:
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。对任何有限的输入expm1
结果必须大于或等于-1.0
。注意,一旦nullex
- 1准确的结果是在1 / 2 ulp的极限值1,-1.0
应该归还。
x
-指数提高努尔在nulle
x
-计算1。
x
- 1。
public static double log1p(double x)
x
,
log1p(x)
结果更接近于真实结果LN(1 +
x
)比
log(1.0+x)
浮点评价。
特殊情况:
计算结果必须在准确结果的1无铅汽油。结果必须是半单调的。
x
-价值
x
+ 1),对
x
+ 1的自然对数
public static double copySign(double magnitude, double sign)
StrictMath.copySign
方法,该方法不需要南
sign
参数被视为积极的价值观;实现被允许可以治疗一些南参数作为阳性和其他南负允许更大的性能参数。
magnitude
-参数提供结果的大小
sign
-参数提供结果的符号
magnitude
大小和
sign
符号价值。
public static float copySign(float magnitude, float sign)
StrictMath.copySign
方法,该方法不需要南
sign
参数被视为积极的价值观;实现被允许可以治疗一些南参数作为阳性和其他南负允许更大的性能参数。
magnitude
-参数提供结果的大小
sign
-参数提供结果的符号
magnitude
大小和
sign
符号价值。
public static int getExponent(float f)
float
偏指数。特殊情况:
Float.MAX_EXPONENT
+ 1。Float.MIN_EXPONENT
- 1。f
-
float
价值
public static int getExponent(double d)
double
偏指数。特殊情况:
Double.MAX_EXPONENT
+ 1。Double.MIN_EXPONENT
- 1。d
-
double
价值
public static double nextAfter(double start, double direction)
特殊情况:
direction
返回不变(所隐含的要求返回第二个参数,如果参数相等)。start
是±Double.MIN_VALUE
和direction
有价值的结果,应该有一个更小的大小,然后一零相同的标志start
返回。start
无限direction
有价值的结果,应该有一个更小的大小,用相同的符号Double.MAX_VALUE
作为start
返回。start
等于±Double.MAX_VALUE
和direction
有价值的结果,应该有一个大的幅度,一个无穷大符号相同start
返回。start
启动浮点值
direction
值指示哪
start
的邻居或
start
应该归还
start
在
direction
方向相邻的浮点数。
public static float nextAfter(float start, double direction)
特殊情况:
direction
返回。start
是±Float.MIN_VALUE
和direction
有价值的结果,应该有一个更小的大小,然后一零相同的标志start
返回。start
无限direction
有价值的结果,应该有一个更小的大小,用相同的符号Float.MAX_VALUE
作为start
返回。start
等于±Float.MAX_VALUE
和direction
有价值的结果,应该有一个大的幅度,一个无穷大符号相同start
返回。start
启动浮点值
direction
值指示哪
start
的邻居或
start
应该归还
direction
方向相邻
start
。
public static double nextUp(double d)
d
在正无穷大方向的浮点值。这种方法是语义上等同于
nextAfter(d, Double.POSITIVE_INFINITY)
;然而,一个
nextUp
实施可能比其等效
nextAfter
叫更快。
特殊情况:
Double.MIN_VALUE
d
启动浮点值
public static float nextUp(float f)
f
相邻的浮点值。这种方法是语义上等同于
nextAfter(f, Float.POSITIVE_INFINITY)
;然而,一个
nextUp
实施可能比其等效
nextAfter
叫更快。
特殊情况:
Float.MIN_VALUE
f
启动浮点值
public static double nextDown(double d)
d
相邻的浮点值。这种方法是语义上等同于
nextAfter(d, Double.NEGATIVE_INFINITY)
;然而,一个
nextDown
实施可能比其等效
nextAfter
叫更快。
特殊情况:
-Double.MIN_VALUE
d
启动浮点值
public static float nextDown(float f)
f
相邻的浮点值。这种方法是语义上等同于
nextAfter(f, Float.NEGATIVE_INFINITY)
;然而,一个
nextDown
实施可能比其等效
nextAfter
叫更快。
特殊情况:
-Float.MIN_VALUE
f
启动浮点值
public static double scalb(double d, int scaleFactor)
d
×2
scaleFactor
圆润好像由一个单一的正确舍入的浮点乘法的双重价值的成员组。看到一个浮点值集的java语言规范的探讨。如果结果指数是
Double.MIN_EXPONENT
和
Double.MAX_EXPONENT
之间,答案是精确计算。如果结果的指数将大于
Double.MAX_EXPONENT
,无限返回。注意,如果结果是正常的,精度可能会丢失;即,当
scalb(x, n)
是不正常的,
scalb(scalb(x, n), -n)
可能不等于nullx。当结果是非南,结果具有相同的符号
d
。
特殊情况:
d
数是由一个功率两尺度。
scaleFactor
用于规模
d
2功率
d
×2
scaleFactor
public static float scalb(float f, int scaleFactor)
f
×2
scaleFactor
圆润好像由一个单一的正确舍入的浮点乘法的float值集成员。看到一个浮点值集的java语言规范的探讨。如果结果指数是
Float.MIN_EXPONENT
和
Float.MAX_EXPONENT
之间,答案是精确计算。如果结果的指数将大于
Float.MAX_EXPONENT
,无限返回。注意,如果结果是正常的,精度可能会丢失;即,当
scalb(x, n)
是不正常的,
scalb(scalb(x, n), -n)
可能不等于nullx。当结果是非南,结果具有相同的符号
f
。
特殊情况:
f
数是由一个功率两尺度。
scaleFactor
用于规模
f
2功率
f
×2
scaleFactor
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.