Класс StrictMath
public final class StrictMath extends Object
StrictMath содержит методы для выполнения основных числовых операций, таких как элементарные экспоненциальная и логарифмическая функции, извлечение квадратного корня и тригонометрические функции. Чтобы обеспечить переносимость программ на Java, определения некоторых числовых функций в этом пакете требуют, чтобы они выдавали те же результаты, что и определённые опубликованные алгоритмы. Эти алгоритмы доступны в известной сетевой библиотеке netlib как пакет «Freely Distributable Math Library», fdlibm. Эти алгоритмы, написанные на языке программирования C, следует считать преобразованными в Java и выполняемыми с соблюдением правил арифметики Java для всех операций с плавающей точкой и целочисленных операций. При преобразовании используются следующие трансформации:
- Извлечение и установка старшей и младшей половин 64-битного значения
doubleв C выполняются с помощью методов платформы Java, осуществляющих побитовые преобразования изdoubleвlongи изlongвdouble. - Беззнаковые значения
intв C сопоставляются со знаковыми значениямиintв Java; операции изменяются так, чтобы воспроизводить семантику беззнаковых значений там, где результаты одной и той же текстовой операции отличались бы. Например, сдвиги>>для беззнаковых значений C заменяются сдвигами>>>для знаковых значений Java. Сравнения заданной ширины для беззнаковых значений C (<,<=,>,>=) заменяются семантически эквивалентными вызовамиcompareUnsigned.
Математическая библиотека Java определена в соответствии с версией 5.3 fdlibm. Если 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 и необходимо обнаруживать ошибки переполнения, методы, имена которых оканчиваются на Exact, выбрасывают ArithmeticException при переполнении результата.
Рекомендуемые операции IEEE 754
В классеMath рассматривается, как общие критерии качества реализации для выбранных методов Math и StrictMath соотносятся с рекомендуемыми операциями IEEE 754.- Начиная с:
- 1.3
- Внешние спецификации
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final double |
E |
Значение double, наиболее близкое к e — основанию натуральных логарифмов. |
static final double |
PI |
Значение double, наиболее близкое к pi (π) — отношению длины окружности к её диаметру. |
static final double |
TAU |
Значение double, наиболее близкое к tau (τ) — отношению длины окружности к её радиусу. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static double |
abs |
Возвращает абсолютное значение значения типа double. |
static float |
abs |
Возвращает абсолютное значение значения типа float. |
static int |
abs |
Возвращает абсолютное значение значения типа int. |
static long |
abs |
Возвращает абсолютное значение значения типа long. |
static int |
absExact |
Возвращает математическое абсолютное значение значения типа int, если оно точно представимо как int; если результат выходит за пределы положительного диапазона int, выбрасывается ArithmeticException. |
static long |
absExact |
Возвращает математическое абсолютное значение значения типа long, если оно точно представимо как long; если результат выходит за пределы положительного диапазона long, выбрасывается ArithmeticException. |
static double |
acos |
Возвращает арккосинус значения; возвращаемый угол находится в диапазоне от 0.0 до pi. |
static int |
addExact |
Возвращает сумму аргументов; если результат переполняет int, выбрасывается исключение. |
static long |
addExact |
Возвращает сумму аргументов; если результат переполняет long, выбрасывается исключение. |
static double |
asin |
Возвращает арксинус значения; возвращаемый угол находится в диапазоне от −pi/2 до pi/2. |
static double |
atan |
Возвращает арктангенс значения; возвращаемый угол находится в диапазоне от −pi/2 до pi/2. |
static double |
atan2 |
Возвращает угол theta, полученный при преобразовании декартовых координат ( x, y) в полярные координаты (r, theta). |
static double |
cbrt |
Возвращает кубический корень значения типа double. |
static double |
ceil |
Возвращает наименьшее значение типа double (ближайшее к минус бесконечности), которое больше или равно аргументу и является математическим целым числом. |
static int |
ceilDiv |
Возвращает наименьшее значение типа int (ближайшее к минус бесконечности), которое больше или равно алгебраическому частному. |
static long |
ceilDiv |
Возвращает наименьшее значение типа long (ближайшее к минус бесконечности), которое больше или равно алгебраическому частному. |
static long |
ceilDiv |
Возвращает наименьшее значение типа long (ближайшее к минус бесконечности), которое больше или равно алгебраическому частному. |
static int |
ceilDivExact |
Возвращает наименьшее значение типа int (ближайшее к минус бесконечности), которое больше или равно алгебраическому частному. |
static long |
ceilDivExact |
Возвращает наименьшее значение типа long (ближайшее к минус бесконечности), которое больше или равно алгебраическому частному. |
static int |
ceilMod |
Возвращает остаток от деления с округлением вверх для аргументов типа int. |
static int |
ceilMod |
Возвращает остаток от деления с округлением вверх для аргументов типа long и int. |
static long |
ceilMod |
Возвращает остаток от деления с округлением вверх для аргументов типа long. |
static double |
clamp |
Ограничивает значение диапазоном от min до max. |
static float |
clamp |
Ограничивает значение диапазоном от min до max. |
static int |
clamp |
Ограничивает значение диапазоном от min до max. |
static long |
clamp |
Ограничивает значение диапазоном от min до max. |
static double |
copySign |
Возвращает первый аргумент с плавающей точкой со знаком второго аргумента с плавающей точкой. |
static float |
copySign |
Возвращает первый аргумент с плавающей точкой со знаком второго аргумента с плавающей точкой. |
static double |
cos |
Возвращает тригонометрический косинус угла. |
static double |
cosh |
Возвращает гиперболический косинус значения типа double. |
static int |
decrementExact |
Возвращает аргумент, уменьшенный на единицу; если результат переполняет int, выбрасывается исключение. |
static long |
decrementExact |
Возвращает аргумент, уменьшенный на единицу; если результат переполняет long, выбрасывается исключение. |
static int |
divideExact |
Возвращает частное аргументов; если результат переполняет int, выбрасывается исключение. |
static long |
divideExact |
Возвращает частное аргументов; если результат переполняет long, выбрасывается исключение. |
static double |
exp |
Возвращает число Эйлера e, возведённое в степень значения типа double. |
static double |
expm1 |
Возвращает ex −1. |
static double |
floor |
Возвращает наибольшее значение типа double (ближайшее к плюс бесконечности), которое меньше или равно аргументу и является математическим целым числом. |
static int |
floorDiv |
Возвращает наибольшее значение типа int (ближайшее к плюс бесконечности), которое меньше или равно алгебраическому частному. |
static long |
floorDiv |
Возвращает наибольшее значение типа long (ближайшее к плюс бесконечности), которое меньше или равно алгебраическому частному. |
static long |
floorDiv |
Возвращает наибольшее значение типа long (ближайшее к плюс бесконечности), которое меньше или равно алгебраическому частному. |
static int |
floorDivExact |
Возвращает наибольшее значение типа int (ближайшее к плюс бесконечности), которое меньше или равно алгебраическому частному. |
static long |
floorDivExact |
Возвращает наибольшее значение типа long (ближайшее к плюс бесконечности), которое меньше или равно алгебраическому частному. |
static int |
floorMod |
Возвращает остаток от деления с округлением вниз для аргументов типа int. |
static int |
floorMod |
Возвращает остаток от деления с округлением вниз для аргументов типа long и int. |
static long |
floorMod |
Возвращает остаток от деления с округлением вниз для аргументов типа long. |
static double |
fma |
Возвращает результат слитого умножения с добавлением для трёх аргументов: точное произведение первых двух аргументов складывается с третьим аргументом, после чего результат однократно округляется до ближайшего значения double. |
static float |
fma |
Возвращает результат слитого умножения с добавлением для трёх аргументов: точное произведение первых двух аргументов складывается с третьим аргументом, после чего результат однократно округляется до ближайшего значения float. |
static int |
getExponent |
Возвращает смещённый показатель степени, используемый в представлении значения типа double. |
static int |
getExponent |
Возвращает смещённый показатель степени, используемый в представлении значения типа float. |
static double |
hypot |
Возвращает sqrt(x2 +y2) без промежуточного переполнения или потери значимости. |
static double |
IEEEremainder |
Выполняет операцию получения остатка от деления двух аргументов в соответствии со стандартом IEEE 754. |
static int |
incrementExact |
Возвращает аргумент, увеличенный на единицу; если результат переполняет int, выбрасывается исключение. |
static long |
incrementExact |
Возвращает аргумент, увеличенный на единицу; если результат переполняет long, выбрасывается исключение. |
static double |
log |
Возвращает натуральный логарифм (по основанию e) значения типа double. |
static double |
log10 |
Возвращает десятичный логарифм значения типа double. |
static double |
log1p |
Возвращает натуральный логарифм суммы аргумента и 1. |
static double |
max |
Возвращает большее из двух значений типа double. |
static float |
max |
Возвращает большее из двух значений типа float. |
static int |
max |
Возвращает большее из двух значений типа int. |
static long |
max |
Возвращает большее из двух значений типа long. |
static double |
min |
Возвращает меньшее из двух значений типа double. |
static float |
min |
Возвращает меньшее из двух значений типа float. |
static int |
min |
Возвращает меньшее из двух значений типа int. |
static long |
min |
Возвращает меньшее из двух значений типа long. |
static int |
multiplyExact |
Возвращает произведение аргументов; если результат переполняет int, выбрасывается исключение. |
static long |
multiplyExact |
Возвращает произведение аргументов; если результат переполняет long, выбрасывается исключение. |
static long |
multiplyExact |
Возвращает произведение аргументов; если результат переполняет long, выбрасывается исключение. |
static long |
multiplyFull |
Возвращает точное математическое произведение аргументов. |
static long |
multiplyHigh |
Возвращает в виде long 64 старших бита 128-битного произведения двух 64-битных множителей. |
static int |
negateExact |
Возвращает противоположное значение аргумента; если результат переполняет int, выбрасывается исключение. |
static long |
negateExact |
Возвращает противоположное значение аргумента; если результат переполняет long, выбрасывается исключение. |
static double |
nextAfter |
Возвращает число с плавающей точкой, соседнее с первым аргументом в направлении второго аргумента. |
static float |
nextAfter |
Возвращает число с плавающей точкой, соседнее с первым аргументом в направлении второго аргумента. |
static double |
nextDown |
Возвращает значение с плавающей точкой, соседнее с d в направлении минус бесконечности. |
static float |
nextDown |
Возвращает значение с плавающей точкой, соседнее с f в направлении минус бесконечности. |
static double |
nextUp |
Возвращает значение с плавающей точкой, соседнее с d в направлении плюс бесконечности. |
static float |
nextUp |
Возвращает значение с плавающей точкой, соседнее с f в направлении плюс бесконечности. |
static double |
pow |
Возвращает значение первого аргумента, возведённого в степень второго аргумента. |
static int |
powExact |
Возвращает x, возведённое в степень n; если результат переполняет int, выбрасывается исключение. |
static long |
powExact |
Возвращает x, возведённое в степень n; если результат переполняет long, выбрасывается исключение. |
static double |
random() |
Возвращает значение типа double с положительным знаком, не меньшее 0.0 и меньшее 1.0. |
static double |
rint |
Возвращает значение типа double, наиболее близкое к аргументу и являющееся математическим целым числом. |
static long |
round |
Возвращает ближайшее к аргументу значение типа long; при равном расстоянии округляет в сторону плюс бесконечности. |
static int |
round |
Возвращает ближайшее к аргументу значение типа int; при равном расстоянии округляет в сторону плюс бесконечности. |
static double |
scalb |
Возвращает d × 2scaleFactor с округлением, как если бы вычисление выполнялось одним правильно округлённым умножением чисел с плавающей точкой. |
static float |
scalb |
Возвращает f × 2scaleFactor с округлением, как если бы вычисление выполнялось одним правильно округлённым умножением чисел с плавающей точкой. |
static double |
signum |
Возвращает значение функции знака аргумента: ноль, если аргумент равен нулю; 1.0, если аргумент больше нуля; −1.0, если аргумент меньше нуля. |
static float |
signum |
Возвращает значение функции знака аргумента: ноль, если аргумент равен нулю; 1.0f, если аргумент больше нуля; −1.0f, если аргумент меньше нуля. |
static double |
sin |
Возвращает тригонометрический синус угла. |
static double |
sinh |
Возвращает гиперболический синус значения типа double. |
static double |
sqrt |
Возвращает правильно округлённый положительный квадратный корень значения типа double. |
static int |
subtractExact |
Возвращает разность аргументов; если результат переполняет int, выбрасывается исключение. |
static long |
subtractExact |
Возвращает разность аргументов; если результат переполняет long, выбрасывается исключение. |
static double |
tan |
Возвращает тригонометрический тангенс угла. |
static double |
tanh |
Возвращает гиперболический тангенс значения типа double. |
static double |
toDegrees |
Преобразует угол, заданный в радианах, в приблизительно эквивалентный угол, заданный в градусах. |
static int |
toIntExact |
Возвращает значение аргумента long; если значение переполняет int, выбрасывается исключение. |
static double |
toRadians |
Преобразует угол, заданный в градусах, в приблизительно эквивалентный угол, заданный в радианах. |
static double |
ulp |
Возвращает размер ulp аргумента. |
static float |
ulp |
Возвращает размер ulp аргумента. |
static int |
unsignedMultiplyExact |
Возвращает произведение беззнаковых аргументов; если результат переполняет беззнаковый int, выбрасывается исключение. |
static long |
unsignedMultiplyExact |
Возвращает произведение беззнаковых аргументов; если результат переполняет беззнаковый long, выбрасывается исключение. |
static long |
unsignedMultiplyExact |
Возвращает произведение беззнаковых аргументов; если результат переполняет беззнаковый long, выбрасывается исключение. |
static long |
unsignedMultiplyHigh |
Возвращает в виде long 64 старших бита беззнакового 128-битного произведения двух беззнаковых 64-битных множителей. |
static int |
unsignedPowExact |
Возвращает беззнаковое x, возведённое в степень n; если результат переполняет беззнаковый int, выбрасывается исключение. |
static long |
unsignedPowExact |
Возвращает беззнаковое x, возведённое в степень n; если результат переполняет беззнаковый long, выбрасывается исключение. |
Подробное описание полей
E
public static final double E
double, наиболее близкое к e — основанию натуральных логарифмов.- См. также:
PI
public static final double PI
double, наиболее близкое к pi (π) — отношению длины окружности к её диаметру.- См. также:
TAU
public static final double TAU
double, наиболее близкое к tau (τ) — отношению длины окружности к её радиусу.- Примечание к API:
- Значение pi вдвое меньше значения tau; другими словами, tau вдвое больше pi .
- С версии:
- 19
- См. также:
Подробное описание методов
sin
public static double sin(double a)
- Если аргумент — NaN или бесконечность, результатом будет NaN.
- Если аргумент равен нулю, результатом будет ноль с тем же знаком, что и у аргумента.
- Параметры:
-
a— угол в радианах. - Возвращает:
- синус аргумента.
cos
public static double cos(double a)
- Если аргумент — NaN или бесконечность, результатом будет NaN.
- Если аргумент равен нулю, результатом будет
1.0.
- Параметры:
-
a— угол в радианах. - Возвращает:
- косинус аргумента.
tan
public static double tan(double a)
- Если аргумент — NaN или бесконечность, результатом будет NaN.
- Если аргумент равен нулю, результатом будет ноль с тем же знаком, что и у аргумента.
- Параметры:
-
a— угол в радианах. - Возвращает:
- тангенс аргумента.
asin
public static double asin(double a)
- Если аргумент — NaN или его абсолютное значение больше 1, результатом будет NaN.
- Если аргумент равен нулю, результатом будет ноль с тем же знаком, что и у аргумента.
- Параметры:
-
a— значение, арксинус которого требуется вернуть. - Возвращает:
- арксинус аргумента.
acos
public static double acos(double a)
- Если аргумент — NaN или его абсолютное значение больше 1, результатом будет NaN.
- Если аргумент равен
1.0, результатом будет положительный ноль.
- Параметры:
-
a— значение, арккосинус которого требуется вернуть. - Возвращает:
- арккосинус аргумента.
atan
public static double atan(double a)
- Если аргумент — NaN, результатом будет NaN.
- Если аргумент равен нулю, результатом будет ноль с тем же знаком, что и у аргумента.
- Если аргумент бесконечен, результатом будет значение, наиболее близкое к pi/2 и имеющее тот же знак, что и входное значение.
- Параметры:
-
a— значение, арктангенс которого требуется вернуть. - Возвращает:
- арктангенс аргумента.
toRadians
public static double toRadians(double angdeg)
- Параметры:
-
angdeg— угол в градусах - Возвращает:
- значение угла
angdegв радианах.
toDegrees
public static double toDegrees(double angrad)
cos(toRadians(90.0)) будет в точности равен 0.0.- Параметры:
-
angrad— угол в радианах - Возвращает:
- значение угла
angradв градусах.
exp
public static double exp(double a)
double. Особые случаи: - Если аргумент — NaN, результатом будет NaN.
- Если аргумент — положительная бесконечность, результатом будет положительная бесконечность.
- Если аргумент — отрицательная бесконечность, результатом будет положительный ноль.
- Если аргумент равен нулю, результатом будет
1.0.
- Параметры:
-
a— показатель степени, в которую возводится e. - Возвращает:
- значение e
a, где e — основание натуральных логарифмов.
log
public static double log(double a)
double. Особые случаи: - Если аргумент — NaN или меньше нуля, результатом будет NaN.
- Если аргумент — положительная бесконечность, результатом будет положительная бесконечность.
- Если аргумент — положительный или отрицательный ноль, результатом будет отрицательная бесконечность.
- Если аргумент равен
1.0, результатом будет положительный ноль.
- Параметры:
-
a— значение - Возвращает:
- значение ln
a, натуральный логарифмa.
log10
public static double log10(double a)
double по основанию 10. Особые случаи: - Если аргумент — NaN или меньше нуля, результатом будет NaN.
- Если аргумент — положительная бесконечность, результатом будет положительная бесконечность.
- Если аргумент — положительный или отрицательный ноль, результатом будет отрицательная бесконечность.
- Если аргумент равен 10n для целого n, результатом будет n. В частности, если аргумент равен
1.0(100), результатом будет положительный ноль.
- Параметры:
-
a— значение - Возвращает:
- логарифм
aпо основанию 10. - С версии:
- 1.5
sqrt
public static double sqrt(double a)
double. Особые случаи: - Если аргумент — NaN или меньше нуля, результатом будет NaN.
- Если аргумент — положительная бесконечность, результатом будет положительная бесконечность.
- Если аргумент — положительный или отрицательный ноль, результатом будет сам аргумент.
double, ближайшее к истинному математическому квадратному корню из значения аргумента.- Параметры:
-
a— значение. - Возвращает:
- положительный квадратный корень из
a.
cbrt
public static double cbrt(double a)
double. Для положительных конечных значений x, cbrt(-x) ==
-cbrt(x); то есть кубический корень из отрицательного значения равен отрицательному кубическому корню из абсолютного значения этого числа. Особые случаи: - Если аргумент — NaN, результатом будет NaN.
- Если аргумент бесконечен, результатом будет бесконечность с тем же знаком, что и у аргумента.
- Если аргумент равен нулю, результатом будет ноль с тем же знаком, что и у аргумента.
- Параметры:
-
a— значение. - Возвращает:
- кубический корень из
a. - С версии:
- 1.5
IEEEremainder
public static double IEEEremainder(double f1, double f2)
f1 - f2 × n, где n — целое число, ближайшее к точному математическому значению частного f1/f2; если два целых числа одинаково близки к f1/f2, то n — чётное число. Если остаток равен нулю, его знак совпадает со знаком первого аргумента. Особые случаи: - Если любой из аргументов — NaN, первый аргумент — бесконечность или второй аргумент — положительный либо отрицательный ноль, результатом будет NaN.
- Если первый аргумент конечен, а второй — бесконечность, результатом будет первый аргумент.
- Параметры:
-
f1— делимое. -
f2— делитель. - Возвращает:
- остаток от деления
f1наf2.
ceil
public static double ceil(double a)
double (ближайшее к отрицательной бесконечности), которое больше аргумента или равно ему и является математическим целым числом. Особые случаи: - Если значение аргумента уже является математическим целым числом, результатом будет сам аргумент.
- Если аргумент — NaN, бесконечность, положительный ноль или отрицательный ноль, результатом будет сам аргумент.
- Если значение аргумента меньше нуля, но больше -1.0, результатом будет отрицательный ноль.
StrictMath.ceil(x) в точности равно значению -StrictMath.floor(-x).- Параметры:
-
a— значение. - Возвращает:
- наименьшее значение с плавающей точкой (ближайшее к отрицательной бесконечности), которое больше аргумента или равно ему и является математическим целым числом.
floor
public static double floor(double a)
double (ближайшее к положительной бесконечности), которое меньше аргумента или равно ему и является математическим целым числом. Особые случаи: - Если значение аргумента уже является математическим целым числом, результатом будет сам аргумент.
- Если аргумент — NaN, бесконечность, положительный ноль или отрицательный ноль, результатом будет сам аргумент.
- Параметры:
-
a— значение. - Возвращает:
- наибольшее значение с плавающей точкой (ближайшее к положительной бесконечности), которое меньше аргумента или равно ему и является математическим целым числом.
rint
public static double rint(double a)
double, наиболее близкое к аргументу и являющееся математическим целым числом. Если два значения double, являющиеся математическими целыми числами, находятся на одинаковом расстоянии от значения аргумента, результатом будет целое число, являющееся чётным. Особые случаи: - Если значение аргумента уже является математическим целым числом, результатом будет сам аргумент.
- Если аргумент — NaN, бесконечность, положительный ноль или отрицательный ноль, результатом будет сам аргумент.
- Параметры:
-
a— значение. - Возвращает:
- ближайшее к
aзначение с плавающей точкой, являющееся математическим целым числом.
atan2
public static double atan2(double y, double x)
x, y) в полярные координаты (r, theta). Этот метод вычисляет фазу theta, вычисляя арктангенс y/x в диапазоне от −pi до pi. Особые случаи: - Если любой из аргументов — NaN, результатом будет NaN.
- Если первый аргумент — положительный ноль, а второй аргумент положителен, либо первый аргумент положителен и конечен, а второй аргумент — положительная бесконечность, результатом будет положительный ноль.
- Если первый аргумент — отрицательный ноль, а второй аргумент положителен, либо первый аргумент отрицателен и конечен, а второй аргумент — положительная бесконечность, результатом будет отрицательный ноль.
- Если первый аргумент — положительный ноль, а второй аргумент отрицателен, либо первый аргумент положителен и конечен, а второй аргумент — отрицательная бесконечность, результатом будет значение
double, ближайшее к pi. - Если первый аргумент — отрицательный ноль, а второй аргумент отрицателен, либо первый аргумент отрицателен и конечен, а второй аргумент — отрицательная бесконечность, результатом будет значение
double, ближайшее к -pi. - Если первый аргумент положителен, а второй аргумент — положительный или отрицательный ноль, либо первый аргумент — положительная бесконечность, а второй аргумент конечен, результатом будет значение
double, ближайшее к pi/2. - Если первый аргумент отрицателен, а второй аргумент — положительный или отрицательный ноль, либо первый аргумент — отрицательная бесконечность, а второй аргумент конечен, результатом будет значение
double, ближайшее к -pi/2. - Если оба аргумента — положительные бесконечности, результатом будет значение
double, ближайшее к pi/4. - Если первый аргумент — положительная бесконечность, а второй аргумент — отрицательная бесконечность, результатом будет значение
double, ближайшее к 3*pi/4. - Если первый аргумент — отрицательная бесконечность, а второй аргумент — положительная бесконечность, результатом будет значение
double, ближайшее к -pi/4. - Если оба аргумента — отрицательные бесконечности, результатом будет значение
double, ближайшее к -3*pi/4.
- Примечание к API:
- Для y с положительным знаком и конечного ненулевого x точное математическое значение
atan2равно:- Если x > 0, atan(abs(y/x))
- Если x < 0, π - atan(abs(y/x))
- Параметры:
-
y— координата ординаты -
x— координата абсциссы - Возвращает:
- компоненту theta точки (r, theta) в полярных координатах, соответствующую точке (x, y) в декартовых координатах.
pow
public static double pow(double a, double b)
- Если второй аргумент — положительный или отрицательный ноль, результатом будет 1.0.
- Если второй аргумент равен 1.0, результатом будет первый аргумент.
- Если второй аргумент — NaN, результатом будет NaN.
- Если первый аргумент — NaN, а второй аргумент ненулевой, результатом будет NaN.
- Если
- абсолютное значение первого аргумента больше 1, а второй аргумент — положительная бесконечность, или
- абсолютное значение первого аргумента меньше 1, а второй аргумент — отрицательная бесконечность,
- Если
- абсолютное значение первого аргумента больше 1, а второй аргумент — отрицательная бесконечность, или
- абсолютное значение первого аргумента меньше 1, а второй аргумент — положительная бесконечность,
- Если абсолютное значение первого аргумента равно 1, а второй аргумент — бесконечность, результатом будет NaN.
- Если
- первый аргумент — положительный ноль, а второй аргумент больше нуля, или
- первый аргумент — положительная бесконечность, а второй аргумент меньше нуля,
- Если
- первый аргумент — положительный ноль, а второй аргумент меньше нуля, или
- первый аргумент — положительная бесконечность, а второй аргумент больше нуля,
- Если
- первый аргумент — отрицательный ноль, а второй аргумент больше нуля, но не является конечным нечётным целым числом, или
- первый аргумент — отрицательная бесконечность, а второй аргумент меньше нуля, но не является конечным нечётным целым числом,
- Если
- первый аргумент — отрицательный ноль, а второй аргумент — положительное конечное нечётное целое число, или
- первый аргумент — отрицательная бесконечность, а второй аргумент — отрицательное конечное нечётное целое число,
- Если
- первый аргумент — отрицательный ноль, а второй аргумент меньше нуля, но не является конечным нечётным целым числом, или
- первый аргумент — отрицательная бесконечность, а второй аргумент больше нуля, но не является конечным нечётным целым числом,
- Если
- первый аргумент — отрицательный ноль, а второй аргумент — отрицательное конечное нечётное целое число, или
- первый аргумент — отрицательная бесконечность, а второй аргумент — положительное конечное нечётное целое число,
- Если первый аргумент конечен и меньше нуля:
- если второй аргумент — конечное чётное целое число, результат равен результату возведения абсолютного значения первого аргумента в степень, равную второму аргументу;
- если второй аргумент — конечное нечётное целое число, результат равен отрицательному значению результата возведения абсолютного значения первого аргумента в степень, равную второму аргументу;
- если второй аргумент конечен, но не является целым числом, результатом будет NaN.
- Если оба аргумента — целые числа, результат в точности равен математическому результату возведения первого аргумента в степень, равную второму аргументу, если этот результат может быть точно представлен значением
double.
(В приведённых выше описаниях значение с плавающей точкой считается целым числом тогда и только тогда, когда оно конечно и является неподвижной точкой метода ceil или, что эквивалентно, неподвижной точкой метода floor. Значение является неподвижной точкой метода с одним аргументом тогда и только тогда, когда результат применения метода к этому значению равен самому значению.)
- Примечание к API:
- Определения особых случаев для этого метода отличаются от определений особых случаев рекомендованной IEEE 754 операции
powдля возведения ±1.0в бесконечную степень. Этот метод считает такие случаи неопределёнными и предписывает возвращать NaN. Спецификация IEEE 754 трактует бесконечную степень как большое целое число (числа с плавающей точкой большого модуля являются целыми числами, а именно чётными целыми числами) и поэтому предписывает возвращать1.0. - Параметры:
-
a— основание. -
b— показатель степени. - Возвращает:
- значение
ab.
round
public static int round(float a)
int к аргументу; при равном расстоянии округляет в сторону положительной бесконечности. Особые случаи:
- Если аргумент — NaN, результатом будет 0.
- Если аргумент — отрицательная бесконечность или любое значение, меньшее либо равное значению
Integer.MIN_VALUE, результат будет равен значениюInteger.MIN_VALUE. - Если аргумент — положительная бесконечность или любое значение, большее либо равное значению
Integer.MAX_VALUE, результат будет равен значениюInteger.MAX_VALUE.
- Параметры:
-
a— значение с плавающей точкой, которое нужно округлить до целого числа. - Возвращает:
- значение аргумента, округлённое до ближайшего значения
int. - См. также:
round
public static long round(double a)
long к аргументу; при равном расстоянии округляет в сторону положительной бесконечности. Особые случаи:
- Если аргумент — NaN, результатом будет 0.
- Если аргумент — отрицательная бесконечность или любое значение, меньшее либо равное значению
Long.MIN_VALUE, результат будет равен значениюLong.MIN_VALUE. - Если аргумент — положительная бесконечность или любое значение, большее либо равное значению
Long.MAX_VALUE, результат будет равен значениюLong.MAX_VALUE.
- Параметры:
-
a— значение с плавающей точкой, которое нужно округлить доlong. - Возвращает:
- значение аргумента, округлённое до ближайшего значения
long. - См. также:
random
public static double random()
double с положительным знаком, большее или равное 0.0 и меньшее 1.0. Возвращаемые значения выбираются псевдослучайным образом с (приблизительно) равномерным распределением в этом диапазоне. При первом вызове этого метода создаётся один новый генератор псевдослучайных чисел, в точности так же, как при вычислении выражения
new java.util.Random() В дальнейшем этот новый генератор псевдослучайных чисел используется при всех вызовах данного метода и больше нигде. Этот метод должным образом синхронизирован, что позволяет корректно использовать его из нескольких потоков. Однако если многим потокам требуется генерировать псевдослучайные числа с высокой частотой, уменьшить конкуренцию можно, если каждый поток будет использовать собственный генератор псевдослучайных чисел.
- Возвращает:
- псевдослучайное
double, большее или равное0.0и меньшее1.0. - См. также:
addExact
public static int addExact(int x, int y)
int.- Параметры:
-
x— первое значение -
y— второе значение - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException— если результат приводит к переполнению типа int - С версии:
- 1.8
- См. также:
addExact
public static long addExact(long x, long y)
long.- Параметры:
-
x— первое значение -
y— второе значение - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException— если результат приводит к переполнению типа long - С версии:
- 1.8
- См. также:
subtractExact
public static int subtractExact(int x, int y)
int.- Параметры:
-
x— первое значение -
y— второе значение, вычитаемое из первого - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException— если результат приводит к переполнению типа int - С версии:
- 1.8
- См. также:
subtractExact
public static long subtractExact(long x, long y)
long.- Параметры:
-
x— первое значение -
y— второе значение, вычитаемое из первого - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException— если результат приводит к переполнению типа long - С версии:
- 1.8
- См. также:
multiplyExact
public static int multiplyExact(int x, int y)
int.- Параметры:
-
x— первое значение -
y— второе значение - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException— если результат приводит к переполнению типа int - С версии:
- 1.8
- См. также:
multiplyExact
public static long multiplyExact(long x, int y)
long.- Параметры:
-
x— первое значение -
y— второе значение - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException— если результат приводит к переполнению типа long - С версии:
- 9
- См. также:
multiplyExact
public static long multiplyExact(long x, long y)
long.- Параметры:
-
x- первое значение -
y- второе значение - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException- если результат выходит за пределы long - Начиная с:
- 1.8
- См. также:
divideExact
public static int divideExact(int x, int y)
int. В этом методе переполнение происходит, если x равно Integer.MIN_VALUE, а y равно -1. В отличие от этого, если непосредственно вычислить Integer.MIN_VALUE / -1, результатом будет Integer.MIN_VALUE и исключение выброшено не будет. Если y равно нулю, выбрасывается ArithmeticException (JLS 15.17.2).
Встроенный оператор остатка «%» является подходящим аналогом как этого метода, так и встроенного оператора деления «/».
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- частное
x / y - Выбрасывает:
-
ArithmeticException- еслиyравно нулю или частное выходит за пределы int - См. Спецификацию языка Java:
- 15.17.2 Оператор деления /
- Начиная с:
- 18
- См. также:
divideExact
public static long divideExact(long x, long y)
long. В этом методе переполнение происходит, если x равно Long.MIN_VALUE, а y равно -1. В отличие от этого, если непосредственно вычислить Long.MIN_VALUE / -1, результатом будет Long.MIN_VALUE и исключение выброшено не будет. Если y равно нулю, выбрасывается ArithmeticException (JLS 15.17.2).
Встроенный оператор остатка «%» является подходящим аналогом как этого метода, так и встроенного оператора деления «/».
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- частное
x / y - Выбрасывает:
-
ArithmeticException- еслиyравно нулю или частное выходит за пределы long - См. Спецификацию языка Java:
- 15.17.2 Оператор деления /
- Начиная с:
- 18
- См. также:
floorDivExact
public static int floorDivExact(int x, int y)
int, которое меньше или равно алгебраическому частному. Этот метод идентичен floorDiv(int,int), за исключением того, что выбрасывает ArithmeticException, если делимое равно Integer.MIN_VALUE, а делитель равен -1, вместо того чтобы игнорировать целочисленное переполнение и возвращать Integer.MIN_VALUE. Метод вычисления остатка по модулю пола floorMod(int,int) является подходящим аналогом как этого метода, так и метода floorDiv(int,int).
Примеры и сравнение с оператором целочисленного деления / см. в описании Math.floorDiv.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- наибольшее (ближайшее к положительной бесконечности) значение
int, которое меньше или равно алгебраическому частному. - Выбрасывает:
-
ArithmeticException- если делительyравен нулю или делимоеxравноInteger.MIN_VALUE, а делительyравен-1. - Начиная с:
- 18
- См. также:
floorDivExact
public static long floorDivExact(long x, long y)
long, которое меньше или равно алгебраическому частному. Этот метод идентичен floorDiv(long,long), за исключением того, что выбрасывает ArithmeticException, если делимое равно Long.MIN_VALUE, а делитель равен -1, вместо того чтобы игнорировать целочисленное переполнение и возвращать Long.MIN_VALUE. Метод вычисления остатка по модулю пола floorMod(long,long) является подходящим аналогом как этого метода, так и метода floorDiv(long,long).
Примеры см. в описании Math.floorDiv.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- наибольшее (ближайшее к положительной бесконечности) значение
long, которое меньше или равно алгебраическому частному. - Выбрасывает:
-
ArithmeticException- если делительyравен нулю или делимоеxравноLong.MIN_VALUE, а делительyравен-1. - Начиная с:
- 18
- См. также:
ceilDivExact
public static int ceilDivExact(int x, int y)
int, которое больше или равно алгебраическому частному. Этот метод идентичен ceilDiv(int,int), за исключением того, что выбрасывает ArithmeticException, если делимое равно Integer.MIN_VALUE, а делитель равен -1, вместо того чтобы игнорировать целочисленное переполнение и возвращать Integer.MIN_VALUE. Метод вычисления остатка по модулю потолка ceilMod(int,int) является подходящим аналогом как этого метода, так и метода ceilDiv(int,int).
Примеры и сравнение с оператором целочисленного деления / см. в описании Math.ceilDiv.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- наименьшее (ближайшее к отрицательной бесконечности) значение
int, которое больше или равно алгебраическому частному. - Выбрасывает:
-
ArithmeticException- если делительyравен нулю или делимоеxравноInteger.MIN_VALUE, а делительyравен-1. - Начиная с:
- 18
- См. также:
ceilDivExact
public static long ceilDivExact(long x, long y)
long, которое больше или равно алгебраическому частному. Этот метод идентичен ceilDiv(long,long), за исключением того, что выбрасывает ArithmeticException, если делимое равно Long.MIN_VALUE, а делитель равен -1, вместо того чтобы игнорировать целочисленное переполнение и возвращать Long.MIN_VALUE. Метод вычисления остатка по модулю потолка ceilMod(long,long) является подходящим аналогом как этого метода, так и метода ceilDiv(long,long).
Примеры см. в описании Math.ceilDiv.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- наименьшее (ближайшее к отрицательной бесконечности) значение
long, которое больше или равно алгебраическому частному. - Выбрасывает:
-
ArithmeticException- если делительyравен нулю или делимоеxравноLong.MIN_VALUE, а делительyравен-1. - Начиная с:
- 18
- См. также:
incrementExact
public static int incrementExact(int a)
int. Переполнение происходит только для максимального значения.- Параметры:
-
a- значение для увеличения - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException- если результат выходит за пределы int - Начиная с:
- 14
- См. также:
incrementExact
public static long incrementExact(long a)
long. Переполнение происходит только для максимального значения.- Параметры:
-
a- значение для увеличения - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException- если результат выходит за пределы long - Начиная с:
- 14
- См. также:
decrementExact
public static int decrementExact(int a)
int. Переполнение происходит только для минимального значения.- Параметры:
-
a- значение для уменьшения - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException- если результат выходит за пределы int - Начиная с:
- 14
- См. также:
decrementExact
public static long decrementExact(long a)
long. Переполнение происходит только для минимального значения.- Параметры:
-
a- значение для уменьшения - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException- если результат выходит за пределы long - Начиная с:
- 14
- См. также:
negateExact
public static int negateExact(int a)
int. Переполнение происходит только для минимального значения.- Параметры:
-
a- значение для смены знака - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException- если результат выходит за пределы int - Начиная с:
- 14
- См. также:
negateExact
public static long negateExact(long a)
long. Переполнение происходит только для минимального значения.- Параметры:
-
a- значение для смены знака - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException- если результат выходит за пределы long - Начиная с:
- 14
- См. также:
toIntExact
public static int toIntExact(long value)
long, выбрасывая исключение, если значение выходит за пределы int.- Параметры:
-
value- значение типа long - Возвращает:
- аргумент как значение типа int
- Выбрасывает:
-
ArithmeticException- еслиargumentвыходит за пределы int - Начиная с:
- 1.8
- См. также:
multiplyFull
public static long multiplyFull(int x, int y)
- Параметры:
-
x- первое значение -
y- второе значение - Возвращает:
- результат
- Начиная с:
- 9
- См. также:
multiplyHigh
public static long multiplyHigh(long x, long y)
long 64 старших значащих бита 128-битного произведения двух 64-битных множителей.- Параметры:
-
x- первое значение -
y- второе значение - Возвращает:
- результат
- Начиная с:
- 9
- См. также:
unsignedMultiplyHigh
public static long unsignedMultiplyHigh(long x, long y)
long 64 старших значащих бита беззнакового 128-битного произведения двух беззнаковых 64-битных множителей.- Параметры:
-
x- первое значение -
y- второе значение - Возвращает:
- результат
- Начиная с:
- 18
- См. также:
floorDiv
public static int floorDiv(int x, int y)
int, которое меньше или равно алгебраическому частному. Есть один особый случай: если делимое равно Integer.MIN_VALUE, а делитель равен -1, происходит целочисленное переполнение, и результат равен Integer.MIN_VALUE. Примеры и сравнение с оператором целочисленного деления / см. в описании Math.floorDiv.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- наибольшее (ближайшее к положительной бесконечности) значение
int, которое меньше или равно алгебраическому частному. - Выбрасывает:
-
ArithmeticException- если делительyравен нулю - Начиная с:
- 1.8
- См. также:
floorDiv
public static long floorDiv(long x, int y)
long, которое меньше или равно алгебраическому частному. Есть один особый случай: если делимое равно Long.MIN_VALUE, а делитель равен -1, происходит целочисленное переполнение, и результат равен Long.MIN_VALUE. Примеры и сравнение с оператором целочисленного деления / см. в описании Math.floorDiv.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- наибольшее (ближайшее к положительной бесконечности) значение
long, которое меньше или равно алгебраическому частному. - Выбрасывает:
-
ArithmeticException- если делительyравен нулю - Начиная с:
- 9
- См. также:
floorDiv
public static long floorDiv(long x, long y)
long, которое меньше или равно алгебраическому частному. Есть один особый случай: если делимое равно Long.MIN_VALUE, а делитель равен -1, происходит целочисленное переполнение, и результат равен Long.MIN_VALUE. Примеры и сравнение с оператором целочисленного деления / см. в описании Math.floorDiv.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- наибольшее (ближайшее к положительной бесконечности) значение
long, которое меньше или равно алгебраическому частному. - Выбрасывает:
-
ArithmeticException- если делительyравен нулю - Начиная с:
- 1.8
- См. также:
floorMod
public static int floorMod(int x, int y)
int. Остаток по модулю пола r = 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равен нулю - Начиная с:
- 1.8
- См. также:
floorMod
public static int floorMod(long x, int y)
long и int. Остаток по модулю пола r = 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равен нулю - Начиная с:
- 9
- См. также:
floorMod
public static long floorMod(long x, long y)
long. Остаток по модулю пола r = 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равен нулю - Начиная с:
- 1.8
- См. также:
ceilDiv
public static int ceilDiv(int x, int y)
int, которое больше или равно алгебраическому частному. Есть один особый случай: если делимое равно Integer.MIN_VALUE, а делитель равен -1, происходит целочисленное переполнение, и результат равен Integer.MIN_VALUE. Примеры и сравнение с оператором целочисленного деления / см. в описании Math.ceilDiv.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- наименьшее (ближайшее к отрицательной бесконечности) значение
int, которое больше или равно алгебраическому частному. - Выбрасывает:
-
ArithmeticException- если делительyравен нулю - Начиная с:
- 18
- См. также:
ceilDiv
public static long ceilDiv(long x, int y)
long, которое больше или равно алгебраическому частному. Есть один особый случай: если делимое равно Long.MIN_VALUE, а делитель равен -1, происходит целочисленное переполнение, и результат равен Long.MIN_VALUE. Примеры и сравнение с оператором целочисленного деления / см. в описании Math.ceilDiv.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- наименьшее (ближайшее к отрицательной бесконечности) значение
long, которое больше или равно алгебраическому частному. - Выбрасывает:
-
ArithmeticException- если делительyравен нулю - Начиная с:
- 18
- См. также:
ceilDiv
public static long ceilDiv(long x, long y)
long, которое больше или равно алгебраическому частному. Есть один особый случай: если делимое равно Long.MIN_VALUE, а делитель равен -1, происходит целочисленное переполнение, и результат равен Long.MIN_VALUE. Примеры и сравнение с оператором целочисленного деления / см. в описании Math.ceilDiv.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- наименьшее (ближайшее к отрицательной бесконечности) значение
long, которое больше или равно алгебраическому частному. - Выбрасывает:
-
ArithmeticException- если делительyравен нулю - Начиная с:
- 18
- См. также:
ceilMod
public static int ceilMod(int x, int y)
int. Остаток по модулю потолка r = x - (ceilDiv(x, y) * y) имеет знак, противоположный знаку делителя y, либо равен нулю, и находится в диапазоне -abs(y) < r < +abs(y).
Связь между ceilDiv и ceilMod такова:
ceilDiv(x, y) * y + ceilMod(x, y) == x
Примеры и сравнение с оператором % см. в описании Math.ceilMod.
- Параметры:
-
x- делимое -
y- делитель - Возвращает:
- остаток по модулю потолка
x - (ceilDiv(x, y) * y) - Выбрасывает:
-
ArithmeticException- если делительyравен нулю - Начиная с:
- 18
- См. также:
ceilMod
public static int ceilMod(long x, int y)
long и int. Потолочный остаток от деления — это r = x - (ceilDiv(x, y) * y); он имеет знак, противоположный знаку делителя y, или равен нулю и находится в диапазоне -abs(y) < r < +abs(y).
Соотношение между ceilDiv и ceilMod таково:
ceilDiv(x, y) * y + ceilMod(x, y) == x
Примеры и сравнение с оператором % см. в разделе Math.ceilMod.
- Параметры:
-
x— делимое -
y— делитель - Возвращает:
- потолочный остаток от деления
x - (ceilDiv(x, y) * y) - Вызывает исключение:
-
ArithmeticException— если делительyравен нулю - С версии:
- 18
- См. также:
ceilMod
public static long ceilMod(long x, long y)
long. Потолочный остаток от деления — это r = x - (ceilDiv(x, y) * y); он имеет знак, противоположный знаку делителя y, или равен нулю и находится в диапазоне -abs(y) < r < +abs(y).
Соотношение между ceilDiv и ceilMod таково:
ceilDiv(x, y) * y + ceilMod(x, y) == x
Примеры и сравнение с оператором % см. в разделе Math.ceilMod.
- Параметры:
-
x— делимое -
y— делитель - Возвращает:
- потолочный остаток от деления
x - (ceilDiv(x, y) * y) - Вызывает исключение:
-
ArithmeticException— если делительyравен нулю - С версии:
- 18
- См. также:
abs
public static int abs(int a)
int. Если аргумент неотрицателен, возвращается сам аргумент. Если аргумент отрицателен, возвращается его противоположное значение. Обратите внимание: если аргумент равен значению Integer.MIN_VALUE, то есть наименьшему представимому отрицательному значению типа int, результатом будет это же значение, которое является отрицательным. В отличие от него, метод absExact(int) для этого значения вызывает исключение ArithmeticException.
- Параметры:
-
a— аргумент, абсолютное значение которого требуется определить. - Возвращает:
- абсолютное значение аргумента.
- См. также:
absExact
public static int absExact(int a)
int, если оно точно представимо как int; если результат выходит за пределы положительного диапазона int, вызывает ArithmeticException. Поскольку диапазон целых чисел в дополнительном коде несимметричен и содержит на одно отрицательное значение больше (JLS 4.2.1), математическое абсолютное значение Integer.MIN_VALUE выходит за пределы положительного диапазона int, поэтому для этого аргумента вызывается исключение.
- Параметры:
-
a— аргумент, абсолютное значение которого требуется определить - Возвращает:
- абсолютное значение аргумента, если не происходит переполнение
- Вызывает исключение:
-
ArithmeticException— если аргумент равенInteger.MIN_VALUE - С версии:
- 15
- См. также:
abs
public static long abs(long a)
long. Если аргумент неотрицателен, возвращается сам аргумент. Если аргумент отрицателен, возвращается его противоположное значение. Обратите внимание: если аргумент равен значению Long.MIN_VALUE, то есть наименьшему представимому отрицательному значению типа long, результатом будет это же значение, которое является отрицательным. В отличие от него, метод absExact(long) для этого значения вызывает исключение ArithmeticException.
- Параметры:
-
a— аргумент, абсолютное значение которого требуется определить. - Возвращает:
- абсолютное значение аргумента.
- См. также:
absExact
public static long absExact(long a)
long, если оно точно представимо как long; если результат выходит за пределы положительного диапазона long, вызывает ArithmeticException. Поскольку диапазон целых чисел в дополнительном коде несимметричен и содержит на одно отрицательное значение больше (JLS 4.2.1), математическое абсолютное значение Long.MIN_VALUE выходит за пределы положительного диапазона long, поэтому для этого аргумента вызывается исключение.
- Параметры:
-
a— аргумент, абсолютное значение которого требуется определить - Возвращает:
- абсолютное значение аргумента, если не происходит переполнение
- Вызывает исключение:
-
ArithmeticException— если аргумент равенLong.MIN_VALUE - С версии:
- 15
- См. также:
abs
public static float abs(float a)
float. Если аргумент неотрицателен, возвращается сам аргумент. Если аргумент отрицателен, возвращается его противоположное значение. Особые случаи: - Если аргумент равен положительному или отрицательному нулю, результатом будет положительный ноль.
- Если аргумент бесконечен, результатом будет положительная бесконечность.
- Если аргумент равен NaN, результатом будет NaN.
- Примечание к API:
- Как следует из приведенного выше, одним из допустимых вариантов реализации этого метода является приведенное ниже выражение, которое вычисляет
floatс той же экспонентой и значащей частью, что и аргумент, но с гарантированно нулевым битом знака, указывающим на положительное значение:
Float.intBitsToFloat(0x7fffffff & Float.floatToRawIntBits(a)) - Параметры:
-
a— аргумент, абсолютное значение которого требуется определить - Возвращает:
- абсолютное значение аргумента.
abs
public static double abs(double a)
double. Если аргумент неотрицателен, возвращается сам аргумент. Если аргумент отрицателен, возвращается его противоположное значение. Особые случаи: - Если аргумент равен положительному или отрицательному нулю, результатом будет положительный ноль.
- Если аргумент бесконечен, результатом будет положительная бесконечность.
- Если аргумент равен NaN, результатом будет NaN.
- Примечание к API:
- Как следует из приведенного выше, одним из допустимых вариантов реализации этого метода является приведенное ниже выражение, которое вычисляет
doubleс той же экспонентой и значащей частью, что и аргумент, но с гарантированно нулевым битом знака, указывающим на положительное значение:
Double.longBitsToDouble((Double.doubleToRawLongBits(a)<<1)>>>1) - Параметры:
-
a— аргумент, абсолютное значение которого требуется определить - Возвращает:
- абсолютное значение аргумента.
max
public static int max(int a, int b)
int. То есть результатом является аргумент, более близкий к значению Integer.MAX_VALUE. Если аргументы имеют одинаковое значение, возвращается это же значение.- Параметры:
-
a— аргумент. -
b— другой аргумент. - Возвращает:
- большее из значений
aиb.
max
public static long max(long a, long b)
long. То есть результатом является аргумент, более близкий к значению Long.MAX_VALUE. Если аргументы имеют одинаковое значение, возвращается это же значение.- Параметры:
-
a— аргумент. -
b— другой аргумент. - Возвращает:
- большее из значений
aиb.
max
public static float max(float a, float b)
float. То есть результатом является аргумент, более близкий к положительной бесконечности. Если аргументы имеют одинаковое значение, возвращается это же значение. Если хотя бы одно из значений равно NaN, результатом будет NaN. В отличие от операторов числового сравнения, этот метод считает отрицательный ноль строго меньшим положительного нуля. Если один аргумент равен положительному нулю, а другой — отрицательному, результатом будет положительный ноль.- Параметры:
-
a— аргумент. -
b— другой аргумент. - Возвращает:
- большее из значений
aиb.
max
public static double max(double a, double b)
double. То есть результатом является аргумент, более близкий к положительной бесконечности. Если аргументы имеют одинаковое значение, возвращается это же значение. Если хотя бы одно из значений равно NaN, результатом будет NaN. В отличие от операторов числового сравнения, этот метод считает отрицательный ноль строго меньшим положительного нуля. Если один аргумент равен положительному нулю, а другой — отрицательному, результатом будет положительный ноль.- Параметры:
-
a— аргумент. -
b— другой аргумент. - Возвращает:
- большее из значений
aиb.
min
public static int min(int a, int b)
int. То есть результатом является аргумент, более близкий к значению Integer.MIN_VALUE. Если аргументы имеют одинаковое значение, возвращается это же значение.- Параметры:
-
a— аргумент. -
b— другой аргумент. - Возвращает:
- меньшее из значений
aиb.
min
public static long min(long a, long b)
long. То есть результатом является аргумент, более близкий к значению Long.MIN_VALUE. Если аргументы имеют одинаковое значение, возвращается это же значение.- Параметры:
-
a— аргумент. -
b— другой аргумент. - Возвращает:
- меньшее из значений
aиb.
min
public static float min(float a, float b)
float. То есть результатом является значение, более близкое к отрицательной бесконечности. Если аргументы имеют одинаковое значение, возвращается это же значение. Если хотя бы одно из значений равно NaN, результатом будет NaN. В отличие от операторов числового сравнения, этот метод считает отрицательный ноль строго меньшим положительного нуля. Если один аргумент равен положительному нулю, а другой — отрицательному, результатом будет отрицательный ноль.- Параметры:
-
a— аргумент. -
b— другой аргумент. - Возвращает:
- меньшее из значений
aиb.
min
public static double min(double a, double b)
double. То есть результатом является значение, более близкое к отрицательной бесконечности. Если аргументы имеют одинаковое значение, возвращается это же значение. Если хотя бы одно из значений равно NaN, результатом будет NaN. В отличие от операторов числового сравнения, этот метод считает отрицательный ноль строго меньшим положительного нуля. Если один аргумент равен положительному нулю, а другой — отрицательному, результатом будет отрицательный ноль.- Параметры:
-
a— аргумент. -
b— другой аргумент. - Возвращает:
- меньшее из значений
aиb.
clamp
public static int clamp(long value, int min, int max)
min, возвращается min. Если значение больше max, возвращается max. В противном случае возвращается исходное значение. Исходное значение типа long может не помещаться в тип int, однако границы имеют тип int, поэтому результат всегда помещается в тип int. Это позволяет безопасно преобразовывать значение типа long в int с насыщением с помощью этого метода.
- Параметры:
-
value— ограничиваемое значение -
min— минимально допустимое значение -
max— максимально допустимое значение - Возвращает:
- ограниченное значение, входящее в интервал
min..max - Вызывает исключение:
-
IllegalArgumentException— еслиmin > max - С версии:
- 21
clamp
public static long clamp(long value, long min, long max)
min, возвращается min. Если значение больше max, возвращается max. В противном случае возвращается исходное значение.- Параметры:
-
value— ограничиваемое значение -
min— минимально допустимое значение -
max— максимально допустимое значение - Возвращает:
- ограниченное значение, входящее в интервал
min..max - Вызывает исключение:
-
IllegalArgumentException— еслиmin > max - С версии:
- 21
clamp
public static double clamp(double value, double min, double max)
min, возвращается min. Если значение больше max, возвращается max. В противном случае возвращается исходное значение. Если значение равно NaN, результатом также будет NaN. В отличие от операторов числового сравнения, этот метод считает отрицательный ноль строго меньшим положительного нуля. Например, clamp(-0.0, 0.0, 1.0) возвращает 0.0.
- Параметры:
-
value— ограничиваемое значение -
min— минимально допустимое значение -
max— максимально допустимое значение - Возвращает:
- ограниченное значение, входящее в интервал
min..max - Вызывает исключение:
-
IllegalArgumentException— если один из аргументовminиmaxравен NaN, илиmin > max, илиminравен +0.0, аmaxравен -0.0. - С версии:
- 21
clamp
public static float clamp(float value, float min, float max)
min, возвращается min. Если значение больше max, возвращается max. В противном случае возвращается исходное значение. Если значение равно NaN, результатом также будет NaN. В отличие от операторов числового сравнения, этот метод считает отрицательный ноль строго меньшим положительного нуля. Например, clamp(-0.0f, 0.0f, 1.0f) возвращает 0.0f.
- Параметры:
-
value— ограничиваемое значение -
min— минимально допустимое значение -
max— максимально допустимое значение - Возвращает:
- ограниченное значение, входящее в интервал
min..max - Вызывает исключение:
-
IllegalArgumentException— если один из аргументовminиmaxравен NaN, илиmin > max, илиminравен +0.0f, аmaxравен -0.0f. - С версии:
- 21
fma
public static double fma(double a, double b, double c)
double. Округление выполняется в соответствии с режимом округления до ближайшего четного. В отличие от этого, при вычислении a * b + c как обычного выражения с плавающей точкой происходят две ошибки округления: первая при умножении, вторая при сложении. Особые случаи:
- Если какой-либо аргумент равен NaN, результатом будет NaN.
- Если один из первых двух аргументов бесконечен, а другой равен нулю, результатом будет NaN.
- Если точное произведение первых двух аргументов бесконечно (иными словами, по крайней мере один из аргументов бесконечен, а другой не равен ни нулю, ни NaN) и третий аргумент — бесконечность противоположного знака, результатом будет NaN.
Обратите внимание: fusedMac(a, 1.0, c) возвращает тот же результат, что и (a + c). Однако fusedMac(a, b, +0.0) не всегда возвращает тот же результат, что и (a * b), поскольку fusedMac(-0.0, +0.0, +0.0) — это +0.0, тогда как (-0.0 * +0.0) — это -0.0; однако fusedMac(a, b, -0.0) эквивалентно (a * b).
- Примечание к API:
- Этот метод соответствует операции fusedMultiplyAdd, определенной в IEEE 754-2008.
- Параметры:
-
a— значение -
b— значение -
c— значение - Возвращает:
- (a × b + c), вычисленное как при неограниченных диапазоне и точности и однократно округленное до ближайшего значения
double - С версии:
- 9
fma
public static float fma(float a, float b, float c)
float. Округление выполняется в соответствии с режимом округления до ближайшего четного. В отличие от этого, при вычислении a * b + c как обычного выражения с плавающей точкой происходят две ошибки округления: первая при умножении, вторая при сложении. Особые случаи:
- Если какой-либо аргумент равен NaN, результатом будет NaN.
- Если один из первых двух аргументов бесконечен, а другой равен нулю, результатом будет NaN.
- Если точное произведение первых двух аргументов бесконечно (иными словами, по крайней мере один из аргументов бесконечен, а другой не равен ни нулю, ни NaN) и третий аргумент — бесконечность противоположного знака, результатом будет NaN.
Обратите внимание: fma(a, 1.0f, c) возвращает тот же результат, что и (a + c). Однако fma(a, b, +0.0f) не всегда возвращает тот же результат, что и (a * b), поскольку fma(-0.0f, +0.0f, +0.0f) — это +0.0f, тогда как (-0.0f * +0.0f) — это -0.0f; однако fma(a, b, -0.0f) эквивалентно (a * b).
- Примечание к API:
- Этот метод соответствует операции fusedMultiplyAdd, определенной в IEEE 754-2008.
- Параметры:
-
a— значение -
b— значение -
c— значение - Возвращает:
- (a × b + c), вычисленное как при неограниченных диапазоне и точности и однократно округленное до ближайшего значения
float - С версии:
- 9
ulp
public static double ulp(double d)
double — это положительное расстояние между этим значением с плавающей точкой и следующим по величине значением
double. Обратите внимание, что для любого x, не равного NaN, ulp(-x) == ulp(x). Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент равен положительной или отрицательной бесконечности, результатом будет положительная бесконечность.
- Если аргумент равен положительному или отрицательному нулю, результатом будет
Double.MIN_VALUE. - Если аргумент равен ±
Double.MAX_VALUE, результат равен 2971.
- Параметры:
-
d— значение с плавающей точкой, для которого требуется вернуть ulp - Возвращает:
- размер ulp аргумента
- С версии:
- 1.5
ulp
public static float ulp(float f)
float — это положительное расстояние между этим значением с плавающей точкой и следующим по величине значением
float. Обратите внимание, что для любого x, не равного NaN, ulp(-x) == ulp(x). Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент равен положительной или отрицательной бесконечности, результатом будет положительная бесконечность.
- Если аргумент равен положительному или отрицательному нулю, результатом будет
Float.MIN_VALUE. - Если аргумент равен ±
Float.MAX_VALUE, результат равен 2104.
- Параметры:
-
f— значение с плавающей точкой, для которого требуется вернуть ulp - Возвращает:
- размер ulp аргумента
- С версии:
- 1.5
signum
public static double signum(double d)
Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент равен положительному или отрицательному нулю, результатом будет сам аргумент.
- Параметры:
-
d— значение с плавающей точкой, для которого требуется вернуть signum - Возвращает:
- функция signum аргумента
- С версии:
- 1.5
signum
public static float signum(float f)
Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент равен положительному или отрицательному нулю, результатом будет сам аргумент.
- Параметры:
-
f— значение с плавающей точкой, для которого требуется вернуть signum - Возвращает:
- функция signum аргумента
- С версии:
- 1.5
sinh
public static double sinh(double x)
double. Гиперболический синус x определяется как (ex − e−x)/2, где e — число Эйлера. Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент бесконечен, результатом будет бесконечность того же знака, что и аргумент.
- Если аргумент равен нулю, результатом будет ноль того же знака, что и аргумент.
- Параметры:
-
x— число, для которого требуется вернуть гиперболический синус. - Возвращает:
- гиперболический синус
x. - С версии:
- 1.5
cosh
public static double cosh(double x)
double. Гиперболический косинус x определяется как (ex + e−x)/2, где e — число Эйлера. Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент бесконечен, результатом будет положительная бесконечность.
- Если аргумент равен нулю, результатом будет
1.0.
- Параметры:
-
x— число, для которого требуется вернуть гиперболический косинус. - Возвращает:
- гиперболический косинус
x. - С версии:
- 1.5
tanh
public static double tanh(double x)
double. Гиперболический тангенс x определяется как (ex − e−x)/(ex + e−x), иначе говоря, sinh(x)/cosh(x). Обратите внимание, что абсолютное значение точного tanh всегда меньше 1. Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент равен нулю, результатом будет ноль того же знака, что и аргумент.
- Если аргумент равен положительной бесконечности, результатом будет
+1.0. - Если аргумент равен отрицательной бесконечности, результатом будет
-1.0.
- Параметры:
-
x— число, для которого требуется вернуть гиперболический тангенс. - Возвращает:
- гиперболический тангенс
x. - С версии:
- 1.5
hypot
public static double hypot(double x, double y)
Особые случаи:
- Если любой из аргументов бесконечен, результатом будет положительная бесконечность.
- Если любой из аргументов равен NaN и ни один из аргументов не бесконечен, результатом будет NaN.
- Если оба аргумента равны нулю, результатом будет положительный ноль.
- Параметры:
-
x— значение -
y— значение - Возвращает:
- sqrt(x2 +y2) без промежуточного переполнения или потери значимости
- Начиная с:
- 1.5
expm1
public static double expm1(double x)
expm1(x) + 1 гораздо ближе к истинному значению ex, чем exp(x). Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент равен положительной бесконечности, результатом будет положительная бесконечность.
- Если аргумент равен отрицательной бесконечности, результатом будет -1.0.
- Если аргумент равен нулю, результатом будет ноль с тем же знаком, что и у аргумента.
- Параметры:
-
x— показатель степени, в которую возводится e при вычислении ex−1. - Возвращает:
- значение e
x- 1. - Начиная с:
- 1.5
log1p
public static double log1p(double x)
x результат log1p(x) гораздо ближе к истинному значению ln(1 + x), чем результат вычисления с плавающей точкой log(1.0+x). Особые случаи:
- Если аргумент равен NaN или меньше -1, результатом будет NaN.
- Если аргумент равен положительной бесконечности, результатом будет положительная бесконечность.
- Если аргумент равен отрицательной единице, результатом будет отрицательная бесконечность.
- Если аргумент равен нулю, результатом будет ноль с тем же знаком, что и у аргумента.
- Параметры:
-
x— значение - Возвращает:
- значение ln(
x+ 1), натуральный логарифмx+ 1 - Начиная с:
- 1.5
copySign
public static double copySign(double magnitude, double sign)
sign, равный NaN, всегда рассматривается как положительный.- Параметры:
-
magnitude— параметр, задающий модуль результата -
sign— параметр, задающий знак результата - Возвращает:
- значение с модулем
magnitudeи знакомsign. - Начиная с:
- 1.6
copySign
public static float copySign(float magnitude, float sign)
sign, равный NaN, всегда рассматривается как положительный.- Параметры:
-
magnitude— параметр, задающий модуль результата -
sign— параметр, задающий знак результата - Возвращает:
- значение с модулем
magnitudeи знакомsign. - Начиная с:
- 1.6
getExponent
public static int getExponent(float f)
float. Особые случаи: - Если аргумент равен NaN или бесконечности, результатом будет
Float.MAX_EXPONENT+ 1. - Если аргумент равен нулю или является субнормальным, результатом будет
Float.MIN_EXPONENT-1.
- Параметры:
-
f— значение типаfloat - Возвращает:
- несмещённый показатель степени аргумента
- Начиная с:
- 1.6
getExponent
public static int getExponent(double d)
double. Особые случаи: - Если аргумент равен NaN или бесконечности, результатом будет
Double.MAX_EXPONENT+ 1. - Если аргумент равен нулю или является субнормальным, результатом будет
Double.MIN_EXPONENT-1.
- Параметры:
-
d— значение типаdouble - Возвращает:
- несмещённый показатель степени аргумента
- Начиная с:
- 1.6
nextAfter
public static double nextAfter(double start, double direction)
Особые случаи:
- Если любой из аргументов равен NaN, возвращается NaN.
- Если оба аргумента являются знаковыми нулями,
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. - Начиная с:
- 1.6
nextAfter
public static float nextAfter(float start, double direction)
Особые случаи:
- Если любой из аргументов равен NaN, возвращается NaN.
- Если оба аргумента являются знаковыми нулями, возвращается значение, эквивалентное
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. - Начиная с:
- 1.6
nextUp
public static double nextUp(double d)
d в направлении положительной бесконечности. Семантически этот метод эквивалентен nextAfter(d,
Double.POSITIVE_INFINITY); однако реализация nextUp может выполняться быстрее, чем эквивалентный вызов nextAfter. Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент равен положительной бесконечности, результатом будет положительная бесконечность.
- Если аргумент равен нулю, результатом будет
Double.MIN_VALUE
- Параметры:
-
d— начальное значение с плавающей точкой - Возвращает:
- Соседнее значение с плавающей точкой, более близкое к положительной бесконечности.
- Начиная с:
- 1.6
nextUp
public static float nextUp(float f)
f в направлении положительной бесконечности. Семантически этот метод эквивалентен nextAfter(f,
Float.POSITIVE_INFINITY); однако реализация nextUp может выполняться быстрее, чем эквивалентный вызов nextAfter. Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент равен положительной бесконечности, результатом будет положительная бесконечность.
- Если аргумент равен нулю, результатом будет
Float.MIN_VALUE
- Параметры:
-
f— начальное значение с плавающей точкой - Возвращает:
- Соседнее значение с плавающей точкой, более близкое к положительной бесконечности.
- Начиная с:
- 1.6
nextDown
public static double nextDown(double d)
d в направлении отрицательной бесконечности. Семантически этот метод эквивалентен nextAfter(d,
Double.NEGATIVE_INFINITY); однако реализация nextDown может выполняться быстрее, чем эквивалентный вызов nextAfter. Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент равен отрицательной бесконечности, результатом будет отрицательная бесконечность.
- Если аргумент равен нулю, результатом будет
-Double.MIN_VALUE
- Параметры:
-
d— начальное значение с плавающей точкой - Возвращает:
- Соседнее значение с плавающей точкой, более близкое к отрицательной бесконечности.
- Начиная с:
- 1.8
nextDown
public static float nextDown(float f)
f в направлении отрицательной бесконечности. Семантически этот метод эквивалентен nextAfter(f,
Float.NEGATIVE_INFINITY); однако реализация nextDown может выполняться быстрее, чем эквивалентный вызов nextAfter. Особые случаи:
- Если аргумент равен NaN, результатом будет NaN.
- Если аргумент равен отрицательной бесконечности, результатом будет отрицательная бесконечность.
- Если аргумент равен нулю, результатом будет
-Float.MIN_VALUE
- Параметры:
-
f— начальное значение с плавающей точкой - Возвращает:
- Соседнее значение с плавающей точкой, более близкое к отрицательной бесконечности.
- Начиная с:
- 1.8
scalb
public static double scalb(double d, int scaleFactor)
d × 2scaleFactor, округлённое так, как если бы вычисление выполнялось одним умножением чисел с плавающей точкой с корректным округлением. Если показатель степени результата находится в диапазоне от Double.MIN_EXPONENT до Double.MAX_EXPONENT, ответ вычисляется точно. Если показатель степени результата превышает
Double.MAX_EXPONENT, возвращается бесконечность. Обратите внимание, что если результат является субнормальным, точность может быть потеряна; то есть, когда scalb(x, n) является субнормальным, scalb(scalb(x, n),
-n) может не равняться x. Если результат не равен NaN, он имеет тот же знак, что и d. Особые случаи:
- Если первый аргумент равен NaN, возвращается NaN.
- Если первый аргумент бесконечен, возвращается бесконечность с тем же знаком.
- Если первый аргумент равен нулю, возвращается ноль с тем же знаком.
- Параметры:
-
d— число, которое нужно умножить на степень двойки. -
scaleFactor— степень числа 2, используемая для масштабированияd - Возвращает:
-
d× 2scaleFactor - Начиная с:
- 1.6
scalb
public static float scalb(float f, int scaleFactor)
f × 2scaleFactor, округлённое так, как если бы вычисление выполнялось одним умножением чисел с плавающей точкой с корректным округлением. Если показатель степени результата находится в диапазоне от Float.MIN_EXPONENT до Float.MAX_EXPONENT, ответ вычисляется точно. Если показатель степени результата превышает
Float.MAX_EXPONENT, возвращается бесконечность. Обратите внимание, что если результат является субнормальным, точность может быть потеряна; то есть, когда scalb(x, n) является субнормальным, scalb(scalb(x, n),
-n) может не равняться x. Если результат не равен NaN, он имеет тот же знак, что и f. Особые случаи:
- Если первый аргумент равен NaN, возвращается NaN.
- Если первый аргумент бесконечен, возвращается бесконечность с тем же знаком.
- Если первый аргумент равен нулю, возвращается ноль с тем же знаком.
- Параметры:
-
f— число, которое нужно умножить на степень двойки. -
scaleFactor— степень числа 2, используемая для масштабированияf - Возвращает:
-
f× 2scaleFactor - Начиная с:
- 1.6
unsignedMultiplyExact
public static int unsignedMultiplyExact(int x, int y)
int, выбрасывается исключение.- Параметры:
-
x— первое беззнаковое значение -
y— второе беззнаковое значение - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException— если результат выходит за диапазон беззнакового int - Начиная с:
- 25
unsignedMultiplyExact
public static long unsignedMultiplyExact(long x, int y)
long, выбрасывается исключение.- Параметры:
-
x— первое беззнаковое значение -
y— второе беззнаковое значение - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException— если результат выходит за диапазон беззнакового long - Начиная с:
- 25
unsignedMultiplyExact
public static long unsignedMultiplyExact(long x, long y)
long, выбрасывается исключение.- Параметры:
-
x— первое беззнаковое значение -
y— второе беззнаковое значение - Возвращает:
- результат
- Выбрасывает:
-
ArithmeticException— если результат выходит за диапазон беззнакового long - Начиная с:
- 25
powExact
public static int powExact(int x, int n)
x в степени n; если результат выходит за диапазон int, выбрасывается исключение. Если n равно 0, возвращаемое значение равно 1.- Параметры:
-
x— основание. -
n— показатель степени. - Возвращает:
-
xв степениn. - Выбрасывает:
-
ArithmeticException— еслиnотрицательно или результат выходит за диапазон int. - Начиная с:
- 25
unsignedPowExact
public static int unsignedPowExact(int x, int n)
x в степени n; если результат выходит за диапазон беззнакового int, выбрасывается исключение. Если n равно 0, возвращаемое значение равно 1.- Параметры:
-
x— беззнаковое основание. -
n— показатель степени. - Возвращает:
-
xв степениn. - Выбрасывает:
-
ArithmeticException— еслиnотрицательно или результат выходит за диапазон беззнакового int. - Начиная с:
- 25
powExact
public static long powExact(long x, int n)
x в степени n; если результат выходит за диапазон long, выбрасывается исключение. Если n равно 0, возвращаемое значение равно 1.- Параметры:
-
x— основание. -
n— показатель степени. - Возвращает:
-
xв степениn. - Выбрасывает:
-
ArithmeticException— еслиnотрицательно или результат выходит за диапазон long. - Начиная с:
- 25
unsignedPowExact
public static long unsignedPowExact(long x, int n)
x в степени n; если результат выходит за диапазон беззнакового long, выбрасывается исключение. Если n равно 0, возвращаемое значение равно 1.- Параметры:
-
x— беззнаковое основание. -
n— показатель степени. - Возвращает:
-
xв степениn. - Выбрасывает:
-
ArithmeticException— еслиnотрицательно или результат выходит за диапазон беззнакового long. - Начиная с:
- 25
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/StrictMath.html