Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class Math extends Object
Math
содержит методы для того, чтобы выполнить основные числовые операции, такие как элементарный экспоненциал, логарифм, квадратный корень, и тригонометрические функции. В отличие от некоторых из числовых методов class StrictMath
, все реализации эквивалентных функций class Math
не определяются, чтобы возвратить поразрядное те же самые результаты. Это расслабление разрешает лучше выполняющие реализации, где строгая воспроизводимость не требуется.
По умолчанию многие из Math
методы просто призывают эквивалентный метод StrictMath
для их реализации. Генераторы кода поощряются пользоваться специфичными для платформы собственными библиотеками или инструкциями микропроцессора, где доступный, обеспечить реализации более высокой производительности Math
методы. Такие реализации более высокой производительности все еще должны соответствовать спецификации для Math
.
Качество спецификаций реализации касается двух свойств, точности возвращенного результата и монотонности метода. Точность с плавающей точкой Math
методы измеряются с точки зрения ulps, модулей в последнем месте. Для данного формата с плавающей точкой ulp определенного значения вещественного числа является расстоянием между двумя значениями с плавающей точкой, заключающими в скобки то численное значение. Обсуждая точность метода в целом, а не в определенном параметре, число процитированного ulps для ошибки худшего случая в любом параметре. Если у метода всегда есть ошибка меньше чем 0.5 ulps, метод всегда возвращает число с плавающей точкой, самое близкое точный результат; такой метод правильно округляется. Правильно округленный метод является обычно лучшим, приближение с плавающей точкой может быть; однако, это непрактично для многих методов с плавающей точкой, которые будут правильно округлены. Вместо этого для Math
class, большая ошибка, связанная 1 или 2 ulps, позволяется для определенных методов. Неофициально, с 1 ulp связанной ошибкой, когда точным результатом является представимое число, точный результат должен быть возвращен как вычисленный результат; иначе, любое из двух значений с плавающей точкой, которые заключают в скобки точный результат, может быть возвращено. Для точных результатов, больших в величине, одна из конечных точек скобки может быть бесконечной. Помимо точности в отдельных параметрах, поддержание надлежащих отношений между методом в различных параметрах также важно. Поэтому, большинство методов больше чем с 0.5 ulp ошибками обязано быть полумонотонным: всякий раз, когда математическая функция неуменьшается, так приближение с плавающей точкой, аналогично, всякий раз, когда математическая функция неувеличивается, так приближение с плавающей точкой. Не все приближения, у которых есть 1 ulp точность, автоматически удовлетворят требования монотонности.
Платформа использует целочисленную арифметику дополнения подписанного 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)
Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными.
a
- угол, в радианах.public static double cos(double a)
Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными.
a
- угол, в радианах.public static double tan(double a)
Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными.
a
- угол, в радианах.public static double asin(double a)
Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными.
a
- значение, арксинус которого должен быть возвращен.public static double acos(double a)
Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными.
a
- значение, арккосинус которого должен быть возвращен.public static double atan(double a)
Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными.
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 ulp точного результата. Результаты должны быть полумонотонными.
a
- экспонента, чтобы повысить e до.a
, где e является основой натуральных логарифмов.public static double log(double a)
double
значение. Особые случаи: Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными.
a
- значениеa
, натуральный логарифм a
.public static double log10(double a)
double
значение. Особые случаи: Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными.
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 ulp точного результата.
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
значение, которое больше чем или равно параметру и равно математическому целому числу. Особые случаи: Math.ceil(x)
точно значение -Math.floor(-x)
.a
- значение.public static double floor(double a)
double
значение, которое меньше чем или равно параметру и равно математическому целому числу. Особые случаи: a
- значение.public static double rint(double a)
double
значение, которое является самым близким в значении к параметру и является равным математическому целому числу. Если два double
значения, которые являются математическими целыми числами, одинаково близки, результатом является целочисленное значение, которое является даже. Особые случаи: a
- a double
значение.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.Вычисленный результат должен быть в пределах 2 ulps точного результата. Результаты должны быть полумонотонными.
y
- координата ординатыx
- координата абсциссыpublic static double pow(double a, double b)
double
значение.(В предшествующих описаниях значение с плавающей точкой, как полагают, является целым числом, если и только если это конечно и фиксированная точка метода ceil
или, эквивалентно, фиксированная точка метода floor
. Значение является фиксированной точкой метода с одним параметром, если и только если результат применения метода к значению равен значению.)
Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными.
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
- если результат переполняет интервалаpublic static long addExact(long x, long y)
long
.x
- первое значениеy
- второе значениеArithmeticException
- если результат переполняет длинногоpublic static int subtractExact(int x, int y)
int
.x
- первое значениеy
- второе значение, чтобы вычесть сначалаArithmeticException
- если результат переполняет интервалаpublic static long subtractExact(long x, long y)
long
.x
- первое значениеy
- второе значение, чтобы вычесть сначалаArithmeticException
- если результат переполняет длинногоpublic static int multiplyExact(int x, int y)
int
.x
- первое значениеy
- второе значениеArithmeticException
- если результат переполняет интервалаpublic static long multiplyExact(long x, long y)
long
.x
- первое значениеy
- второе значениеArithmeticException
- если результат переполняет длинногоpublic static int toIntExact(long value)
long
параметр; выдача исключения, если значение переполняется int
.value
- длинное значениеArithmeticException
- если argument
переполняет интервалаpublic static int floorDiv(int x, int y)
int
значение, которое меньше чем или равно алгебраическому частному. Есть один особый случай, если дивидендом является Целое число. MIN_VALUE и делитель -1
, тогда целочисленное переполнение происходит, и результат равен Integer.MIN_VALUE
. Нормальное целочисленное деление работает под раундом, чтобы обнулить округление режима (усечение). Эта работа вместо этого действует под раундом к отрицательной бесконечности (пол) режим округления. Режим округления пола дает различные результаты чем усечение, когда точный результат отрицателен.
floorDiv
и /
оператор является тем же самым. floorDiv(4, 3) == 1
и (4 / 3) == 1
.floorDiv
возвращает целое число, меньше чем или равное частному и /
оператор возвращает целое число, самое близкое к нулю.floorDiv(-4, 3) == -2
, тогда как (-4 / 3) == -1
. x
- дивидендy
- делительint
значение, которое меньше чем или равно алгебраическому частному.ArithmeticException
- если делитель y
нульfloorMod(int, int)
, floor(double)
public static long floorDiv(long x, long y)
long
значение, которое меньше чем или равно алгебраическому частному. Есть один особый случай, если дивидендом является Лонг. MIN_VALUE и делитель -1
, тогда целочисленное переполнение происходит, и результат равен Long.MIN_VALUE
. Нормальное целочисленное деление работает под раундом, чтобы обнулить округление режима (усечение). Эта работа вместо этого действует под раундом к отрицательной бесконечности (пол) режим округления. Режим округления пола дает различные результаты чем усечение, когда точный результат отрицателен.
Для примеров см. floorDiv(int, int)
.
x
- дивидендy
- делительlong
значение, которое меньше чем или равно алгебраическому частному.ArithmeticException
- если делитель y
нуль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
%
оператор.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)
ArithmeticException
- если делитель y
нуль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)
ArithmeticException
- если делитель y
нуль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 является числом Юлера. Особые случаи:
Вычисленный результат должен быть в пределах 2.5 ulps точного результата.
x
- Число, гиперболический синус которого должен быть возвращен.x
.public static double cosh(double x)
double
значение. Гиперболический косинус x определяется, чтобы быть (исключая + e-x)/2, где e является числом Юлера. Особые случаи:
1.0
. Вычисленный результат должен быть в пределах 2.5 ulps точного результата.
x
- Число, гиперболический косинус которого должен быть возвращен.x
.public static double tanh(double x)
double
значение. Гиперболическая касательная x определяется, чтобы быть (исключая - e-x) / (исключая + e-x), другими словами, sinh (x) / дубинка (x). Отметьте, что абсолютное значение точного tanh всегда - меньше чем 1. Особые случаи:
+1.0
. -1.0
. Вычисленный результат должен быть в пределах 2.5 ulps точного результата. Результат tanh
поскольку у любого конечного ввода должно быть абсолютное значение, меньше чем или равное 1. Отметьте, что однажды точный результат tanh в пределах 1/2 ulp предельного значения ±1, правильно подписано ±1.0
должен быть возвращен.
x
- Число, гиперболическая касательная которого должна быть возвращена.x
.public static double hypot(double x, double y)
Особые случаи:
Вычисленный результат должен быть в пределах 1 ulp точного результата. Если один параметр считается постоянный, результаты должны быть полумонотонными в другом параметре.
x
- значениеy
- значениеpublic static double expm1(double x)
expm1(x)
+ 1 намного ближе к истинному результату исключая чем exp(x)
. Особые случаи:
Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными. Результат expm1
поскольку любой конечный ввод должен быть больше чем или равным -1.0
. Отметьте что однажды точный результат ex
- 1 в пределах 1/2 ulp предельного значения-1, -1.0
должен быть возвращен.
x
- экспонента, чтобы повысить e до в вычислении ex
-1.x
- 1.public static double log1p(double x)
x
, результат log1p(x)
намного ближе к истинному результату ln (1 + x
) чем оценка с плавающей точкой log(1.0+x)
. Особые случаи:
Вычисленный результат должен быть в пределах 1 ulp точного результата. Результаты должны быть полумонотонными.
x
- значениеx
+ 1), естественный журнал x
+ 1public 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
- 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