public final class StrictMath extends Object
StrictMath
包含用于执行基本的数字运算等基本指数、对数、平方根法、三角函数。
为保证java程序的可移植性,在这个包中的一些数值函数的定义需要他们产生相同的结果作为一定的算法。这些算法可从知名网络图书馆netlib
为包“自由分配的数学库,“fdlibm
。这些算法,这是用C语言编程,则可以理解为执行所有浮点操作遵循java浮点运算规则。
java数学库是相对于fdlibm
版本5.3定义。在fdlibm
提供一种功能多个定义(如acos
),使用“IEEE 754的核心功能”版(居住在文件名的开头字母e
)。该方法需要fdlibm
语义sin
,cos
,tan
,asin
,acos
,atan
,exp
,log
,log10
,cbrt
,atan2
,pow
,sinh
,cosh
,tanh
,hypot
,expm1
,和log1p
。
该平台采用带符号的二进制补码整数运算与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 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 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 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)
a
-角度、弧度。
public static double cos(double a)
a
-角度、弧度。
public static double tan(double a)
a
-角度、弧度。
public static double asin(double a)
a
的弧弦是要返回的值。
public static double acos(double a)
a
的余弦是要返回的值。
public static double atan(double a)
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
价值动力。特殊情况:
a
-指数提高到努尔。
a
,哪里努尔是自然对数的底数。
public static double log(double a)
double
价值。特殊情况:
a
-价值
a
,
a
的自然对数。
public static double log10(double a)
double
价值。特殊情况:
a
-价值
a
。
public static double sqrt(double a)
double
价值。特殊情况:
double
。
a
-价值。
a
正平方根。
public static double cbrt(double a)
double
立方根。正有限
x
,
cbrt(-x) == -cbrt(x)
;就是一个负值的立方根是负的立方根,价值的大小。特殊情况:
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
值是大于或等于的说法,等于一个数学整数。特殊情况:
StrictMath.ceil(x)
价值正是
-StrictMath.floor(-x)
价值。
a
-价值。
public static double floor(double a)
double
值小于或等于该参数等于数学整数。特殊情况:
a
-价值。
public static double rint(double a)
double
值是在最接近的值的参数,相当于一个数学整数。如果两
double
值是数学整数同样接近这个参数的值,结果甚至是整数值。特殊情况:
a
-价值。
a
等于数学整数。
public static double atan2(double y, double x)
x
,
y
)极坐标(r, 空θ)。这种方法计算的零相位θ计算反正切的
y/x
范围中的空对空圆周率圆周率。特殊情况:
double
值接近零圆周率。double
价值。double
价值。double
值接近零圆周率/ 2。double
价值。double
价值。double
值接近零圆周率/ 4。double
价值。y
-纵坐标
x
-横坐标坐标
public static double pow(double a, double b)
double
价值。(在前面的描述中,浮点值是当且仅当它是有限的,一个固定点的方法ceil
或者,等价地,一个固定点的方法floor
。值是一个固定点一一论证方法如果运用方法值的结果是相等的该值是一个整数)。
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
Math.addExact(int,int)
public static long addExact(long x, long y)
long
。
x
-第一价值
y
-二值
ArithmeticException
-如果结果溢出长
Math.addExact(long,long)
public static int subtractExact(int x, int y)
int
。
x
-第一价值
y
-减去第二值
ArithmeticException
-如果结果溢出int
Math.subtractExact(int,int)
public static long subtractExact(long x, long y)
long
。
x
-第一价值
y
-减去第二值
ArithmeticException
-如果结果溢出长
Math.subtractExact(long,long)
public static int multiplyExact(int x, int y)
int
。
x
-第一价值
y
-二值
ArithmeticException
-如果结果溢出int
Math.multiplyExact(int,int)
public static long multiplyExact(long x, long y)
long
。
x
-第一价值
y
-二值
ArithmeticException
-如果结果溢出长
Math.multiplyExact(long,long)
public static int toIntExact(long value)
long
参数的值;抛出一个异常,如果值溢出一个
int
。
value
-长值
ArithmeticException
-如果
argument
溢出int
Math.toIntExact(long)
public static int floorDiv(int x, int y)
int
值小于或等于代数商。有一个特殊的情况下,如果股息是
Integer.MIN_VALUE和除数是
-1
,然后整数溢出时,结果是等于
Integer.MIN_VALUE
。
看到的例子和比较整数除法运算符Math.floorDiv
/
。
x
-股息
y
-除数
int
值小于或等于代数商。
y
ArithmeticException
除数为零
Math.floorDiv(int, int)
,
Math.floor(double)
public static long floorDiv(long x, long y)
long
值小于或等于代数商。有一个特殊的情况下,如果股息是
Long.MIN_VALUE和除数是
-1
,然后整数溢出时,结果是等于
Long.MIN_VALUE
。
看到的例子和比较整数除法运算符Math.floorDiv
/
。
x
-股息
y
-除数
long
值小于或等于代数商。
y
ArithmeticException
除数为零
Math.floorDiv(long, long)
,
Math.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
看到的例子和比较的%
算子Math.floorMod
。
x
-股息
y
-除数
x - (floorDiv(x, y) * y)
y
ArithmeticException
除数为零
Math.floorMod(int, int)
,
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
看到的例子和比较的%
算子Math.floorMod
。
x
-股息
y
-除数
x - (floorDiv(x, y) * y)
y
ArithmeticException
除数为零
Math.floorMod(long, long)
,
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。
特殊情况:
x
-数的双曲正弦函数要返回。
x
双曲正弦。
public static double cosh(double x)
double
双曲余弦值。对nullx双曲余弦的定义是(nullenullx + enullx)/ 2,努尔是
Euler's number。
特殊情况:
1.0
。x
-数的双曲余弦值被返回。
x
双曲余弦。
public static double tanh(double x)
double
的双曲正切值。对nullx双曲正切的定义是(nullenullx - enullx)/(nullenullx + enullx),换句话说,
sinh(x) /
cosh(x)。注意:确切的tanh函数的绝对值总是小于1。
特殊情况:
+1.0
。-1.0
。x
-数的双曲正切要返回。
x
双曲正切。
public static double hypot(double x, double y)
特殊情况:
x
-价值
y
-价值
public static double expm1(double x)
expm1(x)
+ 1准确的数字是更接近真实的结果比
exp(x)
nulle
X。
特殊情况:
x
-指数提高努尔在nulle
x
-计算1。
x
- 1。
public static double log1p(double x)
x
,
log1p(x)
结果更接近于真实结果LN(1 +
x
)比
log(1.0+x)
浮点评价。
特殊情况:
x
-价值
x
+ 1),对
x
+ 1的自然对数
public static double copySign(double magnitude, double sign)
sign
论点是如果它是正面的。
magnitude
-参数提供结果的大小
sign
-参数提供结果的符号
magnitude
大小和
sign
符号价值。
public static float copySign(float magnitude, float sign)
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
应该归还
direction
方向相邻
start
。
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
应该归还
start
在
direction
方向相邻的浮点数。
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.