Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class StrictMath extends Object
StrictMath
содержит методы для того, чтобы выполнить основные числовые операции, такие как элементарный экспоненциал, логарифм, квадратный корень, и тригонометрические функции. Чтобы помочь гарантировать мобильность программ Java, определения некоторых из числовых функций в этом пакете требуют, чтобы они привели к тем же самым результатам как определенные опубликованные алгоритмы. Эти алгоритмы доступны от известной сетевой библиотеки netlib
как пакет "Свободно Распространяемая Математическая Библиотека," fdlibm
Математическая библиотека 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
.
Платформа использует целочисленную арифметику дополнения подписанного two с международными и долгими типами примитивов. Разработчик должен выбрать тип примитива, чтобы гарантировать, что арифметические операции последовательно приводят к корректным результатам, который в некоторых случаях означает, что операции не будут переполнять диапазона значений вычисления. Передовая практика должна выбрать тип примитива и алгоритм, чтобы избежать переполнения. В случаях, где размер int
или long
и ошибки переполнения должны быть обнаружены, методы addExact
, subtractExact
, multiplyExact
, и toIntExact
бросьте ArithmeticException
когда результаты переполняются. Для других арифметических операций тех, которые делятся, абсолютное значение, инкремент, декремент, и переполнение отрицания происходят только с определенным минимальным или максимальным значением и должны быть проверены по минимуму или максимуму как соответствующие.
Модификатор и Тип | Поле и Описание |
---|---|
static double |
E
double значение, которое ближе чем любой другой к e, основе натуральных логарифмов. |
static double |
PI
double значение, которое ближе чем любой другой к пи, отношению окружности круга к его диаметру. |
Модификатор и Тип | Метод и Описание |
---|---|
static double |
abs(double a)
Возвращает абсолютное значение a
double значение. |
static float |
abs(float a)
Возвращает абсолютное значение a
float значение. |
static int |
abs(int a)
Возвращает абсолютное значение
int значение. |
static long |
abs(long a)
Возвращает абсолютное значение a
long значение. |
static double |
acos(double a)
Возвращает арккосинус значения; возвращенный угол находится в диапазоне 0.0 через пи.
|
static int |
addExact(int x, int y)
Возвращает сумму его параметров, выдавая исключение, если результат переполняется
int . |
static long |
addExact(long x, long y)
Возвращает сумму его параметров, выдавая исключение, если результат переполняет a
long . |
static double |
asin(double a)
Возвращает арксинус значения; возвращенный угол находится в диапазоне-pi/2 через пи/2.
|
static double |
atan(double a)
Возвращает арктангенс значения; возвращенный угол находится в диапазоне-pi/2 через пи/2.
|
static double |
atan2(double y, double x)
Возвращает угловую тету из преобразования прямоугольных координат (
x , y ) к полярным координатам (r, тета). |
static double |
cbrt(double a)
Возвращает кубический корень 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)
Возвращает гиперболический косинус a
double значение. |
static double |
exp(double a)
Юлер возвратов номер e возводится в степень a
double значение. |
static double |
expm1(double 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)
Возвращает несмещенную экспоненту, используемую в представлении a
double . |
static int |
getExponent(float f)
Возвращает несмещенную экспоненту, используемую в представлении a
float . |
static double |
hypot(double x, double y)
Возвраты sqrt (x2 +y2) без промежуточного переполнения или потери значимости.
|
static double |
IEEEremainder(double f1, double f2)
Вычисляет работу остатка на двух параметрах как предписано стандартом IEEE 754.
|
static double |
log(double a)
Возвращается натуральный логарифм (базируйте e) a
double значение. |
static double |
log10(double a)
Возвращает основу 10 логарифмов a
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)
Возвращает продукт параметров, выдавая исключение, если результат переполняет 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()
Возвраты a
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 × 2scaleFactor округленный, как будто выполняемый синглом правильно округлился с плавающей точкой, умножаются к элементу двойного набора значений. |
static float |
scalb(float f, int scaleFactor)
Возвраты
f × 2scaleFactor округленный, как будто выполняемый синглом правильно округлился с плавающей точкой, умножаются к элементу набора значений плавающего. |
static double |
signum(double d)
Возвращает сигнум-функцию параметра; обнулите, если параметром является нуль, 1.0, если параметр больше чем нуль,-1.0, если параметром являются меньше чем нуль.
|
static float |
signum(float f)
Возвращает сигнум-функцию параметра; обнулите, если параметром является нуль, 1.0f, если параметр больше чем нуль,-1.0f, если параметром являются меньше чем нуль.
|
static double |
sin(double a)
Возвращает тригонометрический синус угла.
|
static double |
sinh(double x)
Возвращает гиперболический синус a
double значение. |
static double |
sqrt(double a)
Возвращает правильно округленный положительный квадратный корень a
double значение. |
static int |
subtractExact(int x, int y)
Возвращает различие параметров, выдавая исключение, если результат переполняется
int . |
static long |
subtractExact(long x, long y)
Возвращает различие параметров, выдавая исключение, если результат переполняет a
long . |
static double |
tan(double a)
Возвращает тригонометрическую касательную угла.
|
static double |
tanh(double x)
Возвращает гиперболическую касательную a
double значение. |
static double |
toDegrees(double angrad)
Преобразовывает угол, измеренный в радианах к приблизительно эквивалентному углу, измеренному в градусах.
|
static int |
toIntExact(long value)
Возвращает значение
long параметр; выдача исключения, если значение переполняется int . |
static double |
toRadians(double angdeg)
Преобразовывает угол, измеренный в градусах к приблизительно эквивалентному углу, измеренному в радианах.
|
static double |
ulp(double d)
Возвращает размер ulp параметра.
|
static float |
ulp(float f)
Возвращает размер ulp параметра.
|
public static final double E
double
значение, которое ближе чем любой другой к e, основе натуральных логарифмов.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
- экспонента, чтобы повысить e до.a
, где e является основой натуральных логарифмов.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
× n, где n является математическим целым числом, самым близким к точному математическому значению частного f1/f2
, и если два математических целых числа одинаково близко к f1/f2
, тогда n является целым числом, которое является даже. Если остаток является нулем, его знак является тем же самым как знаком первого параметра. Особые случаи: 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
оцените самый близкий к пи/2. double
оцените самый близкий к-pi/2. double
оцените самый близкий к пи/4. double
оцените самый близкий к 3*pi/4. double
оцените самый близкий к-pi/4. double
оцените самый близкий к-3*pi/4.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
- значение с плавающей точкой, которое будет округлено к a long
.long
значение.Long.MAX_VALUE
, Long.MIN_VALUE
public static double random()
double
значение с положительным знаком, больше чем или равный 0.0
и меньше чем 1.0
. Возвращенные значения выбираются псевдобеспорядочно с (приблизительно) равномерным распределением от того диапазона. Когда этот метод сначала вызывают, он создает единственный новый генератор псевдослучайных чисел, точно как будто по выражению
new java.util.Random()
Этот новый генератор псевдослучайных чисел используется после того для всех звонков в этот метод и используется больше нигде. Этот метод должным образом синхронизируется, чтобы позволить корректное использование больше чем одним потоком. Однако, если много потоков должны генерировать псевдослучайные числа по высокой цене, это может уменьшить конкуренцию для каждого потока, чтобы иметь его собственный генератор псевдослучайных чисел.
double
больше чем или равный 0.0
и меньше чем 1.0
.Random.nextDouble()
public static int addExact(int x, int y)
int
.x
- первое значениеy
- второе значениеArithmeticException
- если результат переполняет интервала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
- если результат переполняет интервала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
- если результат переполняет интервала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
переполняет интервалаMath.toIntExact(long)
public static int floorDiv(int x, int y)
int
значение, которое меньше чем или равно алгебраическому частному. Есть один особый случай, если дивидендом является Целое число. MIN_VALUE и делитель -1
, тогда целочисленное переполнение происходит, и результат равен Integer.MIN_VALUE
. См. Math.floorDiv
для примеров и сравнения с целочисленным делением /
оператор.
x
- дивидендy
- делительint
значение, которое меньше чем или равно алгебраическому частному.ArithmeticException
- если делитель y
нульMath.floorDiv(int, int)
, Math.floor(double)
public static long floorDiv(long x, long y)
long
значение, которое меньше чем или равно алгебраическому частному. Есть один особый случай, если дивидендом является Лонг. MIN_VALUE и делитель -1
, тогда целочисленное переполнение происходит, и результат равен Long.MIN_VALUE
. См. Math.floorDiv
для примеров и сравнения с целочисленным делением /
оператор.
x
- дивидендy
- делительlong
значение, которое меньше чем или равно алгебраическому частному.ArithmeticException
- если делитель y
нуль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)
ArithmeticException
- если делитель y
нуль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)
ArithmeticException
- если делитель y
нуль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
оцените затем больше в величине. Отметьте это NON-НЭН x, ulp(-x) == ulp(x)
. Особые случаи:
Double.MIN_VALUE
. Double.MAX_VALUE
, тогда результат равен 2971. d
- значение с плавающей точкой, ulp которого должен быть возвращенpublic static float ulp(float f)
float
значение является положительным расстоянием между этим значением с плавающей точкой и float
оцените затем больше в величине. Отметьте это NON-НЭН x, ulp(-x) == ulp(x)
. Особые случаи:
Float.MIN_VALUE
. Float.MAX_VALUE
, тогда результат равен 2104. f
- значение с плавающей точкой, ulp которого должен быть возвращенpublic static double signum(double d)
Особые случаи:
d
- значение с плавающей точкой, знак которого должен быть возвращенpublic static float signum(float f)
Особые случаи:
f
- значение с плавающей точкой, знак которого должен быть возвращенpublic static double sinh(double x)
double
значение. Гиперболический синус x определяется, чтобы быть (исключая - e-x)/2, где e является числом Юлера. Особые случаи:
x
- Число, гиперболический синус которого должен быть возвращен.x
.public static double cosh(double x)
double
значение. Гиперболический косинус x определяется, чтобы быть (исключая + e-x)/2, где e является числом Юлера. Особые случаи:
1.0
. x
- Число, гиперболический косинус которого должен быть возвращен.x
.public static double tanh(double x)
double
значение. Гиперболическая касательная x определяется, чтобы быть (исключая - e-x) / (исключая + e-x), другими словами, sinh (x) / дубинка (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)
. Особые случаи:
x
- экспонента, чтобы повысить e до в вычислении ex
-1.x
- 1.public static double log1p(double x)
x
, результат log1p(x)
намного ближе к истинному результату ln (1 + x
) чем оценка с плавающей точкой log(1.0+x)
. Особые случаи:
x
- значениеx
+ 1), естественный журнал x
+ 1public 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
- a float
значениеpublic static int getExponent(double d)
double
. Особые случаи: Double.MAX_EXPONENT
+ 1. Double.MIN_EXPONENT
-1. d
- a 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
's граничит или 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
's граничит или start
должен быть возвращенstart
в направлении direction
.public static double nextUp(double d)
d
в направлении положительной бесконечности. Этот метод семантически эквивалентен nextAfter(d, Double.POSITIVE_INFINITY)
; однако, a nextUp
реализация может работать быстрее чем ее эквивалент nextAfter
вызвать. Особые случаи:
Double.MIN_VALUE
d
- запуск значения с плавающей точкойpublic static float nextUp(float f)
f
в направлении положительной бесконечности. Этот метод семантически эквивалентен nextAfter(f, Float.POSITIVE_INFINITY)
; однако, a nextUp
реализация может работать быстрее чем ее эквивалент nextAfter
вызвать. Особые случаи:
Float.MIN_VALUE
f
- запуск значения с плавающей точкойpublic static double nextDown(double d)
d
в направлении отрицательной бесконечности. Этот метод семантически эквивалентен nextAfter(d, Double.NEGATIVE_INFINITY)
; однако, a nextDown
реализация может работать быстрее чем ее эквивалент nextAfter
вызвать. Особые случаи:
-Double.MIN_VALUE
d
- запуск значения с плавающей точкойpublic static float nextDown(float f)
f
в направлении отрицательной бесконечности. Этот метод семантически эквивалентен nextAfter(f, Float.NEGATIVE_INFINITY)
; однако, a nextDown
реализация может работать быстрее чем ее эквивалент nextAfter
вызвать. Особые случаи:
-Float.MIN_VALUE
f
- запуск значения с плавающей точкойpublic static double scalb(double d, int scaleFactor)
d
× 2scaleFactor
округленный, как будто выполняемый синглом правильно округлился с плавающей точкой, умножаются к элементу двойного набора значений. См. Спецификацию языка Java для обсуждения наборов значений с плавающей точкой. Если экспонента результата между Double.MIN_EXPONENT
и Double.MAX_EXPONENT
, ответ вычисляется точно. Если бы экспонента результата была бы больше чем Double.MAX_EXPONENT
, бесконечность возвращается. Отметьте, что, если результатом является поднормаль, точность может быть потеряна; то есть, когда scalb(x, n)
поднормаль, scalb(scalb(x, n), -n)
возможно, не равняется x. Когда результатом является NON-НЭН, у результата есть тот же самый знак как d
. Особые случаи:
d
- число, которое будет масштабироваться питанием два.scaleFactor
- питание 2 имело обыкновение масштабироваться d
d
× 2scaleFactor
public static float scalb(float f, int scaleFactor)
f
× 2scaleFactor
округленный, как будто выполняемый синглом правильно округлился с плавающей точкой, умножаются к элементу набора значений плавающего. См. Спецификацию языка Java для обсуждения наборов значений с плавающей точкой. Если экспонента результата между Float.MIN_EXPONENT
и Float.MAX_EXPONENT
, ответ вычисляется точно. Если бы экспонента результата была бы больше чем Float.MAX_EXPONENT
, бесконечность возвращается. Отметьте, что, если результатом является поднормаль, точность может быть потеряна; то есть, когда scalb(x, n)
поднормаль, scalb(scalb(x, n), -n)
возможно, не равняется x. Когда результатом является NON-НЭН, у результата есть тот же самый знак как f
. Особые случаи:
f
- число, которое будет масштабироваться питанием два.scaleFactor
- питание 2 имело обыкновение масштабироваться f
f
× 2scaleFactor
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92