Spec-Zone .ru
спецификации, руководства, описания, API
|
java.lang.Math
Math
содержит полезные основные числовые константы и методы. public final classЧтобы гарантировать мобильность программ Java, спецификации многих из числовых функций в этом пакете требуют, чтобы они привели к тем же самым результатам как определенные опубликованные алгоритмы. Эти алгоритмы доступны от известной сетевой библиотекиMath
{ public static final doubleE
= 2.7182818284590452354; public static final doublePI
= 3.14159265358979323846; public static doublesin
(double a); public static doublecos
(double a); public static doubletan
(double a); public static doubleasin
(double a); public static doubleacos
(double a); public static doubleatan
(double a); public static doubleatan2
(double a, double b); public static doubleexp
(double a); public static doublelog
(double a); public static doublesqrt
(double a); public static doublepow
(double a, double b); public static doubleIEEEremainder
(double f1, double f2); public static doubleceil
(double a); public static doublefloor
(double a); public static doublerint
(double a); public static intround
(float a); public static longround
(double a); public static doublerandom
(); public static intabs
(int a); public static longabs
(long a); public static floatabs
(float a); public static doubleabs
(double a); public static intmin
(int a, int b); public static longmin
(long a, long b); public static floatmin
(float a, float b); public static doublemin
(double a, double b); public static intmax
(int a, int b); public static longmax
(long a, long b); public static floatmax
(float a, float b); public static doublemax
(double a, double b); }
netlib
как пакет fdlibm
("Свободно Распространяемая Математическая Библиотека"). Эти алгоритмы, которые пишутся в языке программирования C, должны быть поняты как будто выполняемый в порядке выполнения Java со всеми операциями с плавающей точкой после правил Java арифметика с плавающей точкой.
Сетевая библиотека может быть найдена в http://netlib.att.com
во всемирной паутине; тогда выполните поиск по ключевым словам fdlibm
. Библиотека может также быть получена Электронной почтой; чтобы начать процесс, отправьте сообщение, содержащее строку:
send index from fdlibmк
netlib@research.att.com
. Математическая библиотека Java определяется относительно версии fdlibm
датированный 04.01.95. Где fdlibm
обеспечивает больше чем одно определение для функции (такой как acos
), "версия" функции ядра IEEE754 должна использоваться (нахождение в файле, имя которого начинается с буквы e
). Полное и автономное описание алгоритмов, которые будут использоваться для этих функций, будет обеспечено в будущей версии этой спецификации. Также ожидается, что алгоритмы будут кодированы в Java, чтобы обеспечить ссылочную реализацию, которая не связывается к fdlibm
.
20.11.1 public static final double
E
= 2.7182818284590452354;
Постоянная величина этого поля double
значение, которое ближе чем любой другой к e, основе натуральных логарифмов.
20.11.2 public static final double
PI
= 3.14159265358979323846;
Постоянная величина этого поля double
значение, которое ближе чем любой другой к, отношение окружности круга к его диаметру.
20.11.3 public static double
sin
(double a)
Этот метод вычисляет приближение к синусу параметра, используя sin
алгоритм как публикующийся в fdlibm
(см. введение в этот раздел).
20.11.4 public static double
cos
(double a)
Этот метод вычисляет приближение к косинусу параметра, используя cos
алгоритм как публикующийся в fdlibm
(см. введение в этот раздел).
20.11.5 public static double
tan
(double a)
Этот метод вычисляет приближение к касательной параметра, используя tan
алгоритм как публикующийся в fdlibm
(см. введение в этот раздел).
20.11.6 public static double
asin
(double a)
Этот метод вычисляет приближение к арксинусу параметра, используя asin
алгоритм как публикующийся в fdlibm
(см. введение в этот раздел).
20.11.7 public static double
acos
(double a)
Этот метод вычисляет приближение к арккосинусу параметра, используя acos
алгоритм как публикующийся в fdlibm
(см. введение в этот раздел).
20.11.8 public static double
atan
(double a)
Этот метод вычисляет приближение к арктангенсу параметра, используя atan
алгоритм как публикующийся в fdlibm
(см. введение в этот раздел).
20.11.9 public static double
atan2
(double y, double x)
Этот метод вычисляет приближение к арктангенсу частного параметров, используя atan2
алгоритм как публикующийся в fdlibm
(см. введение в этот раздел).
double
оцените самый близкий к.
double
оцените самый близкий к.
double
оцените самый близкий к.
double
оцените самый близкий к.
double
оцените самый близкий к.
double
оцените самый близкий к.
double
оцените самый близкий к.
double
оцените самый близкий к. 20.11.10 public static double
exp
(double a)
Этот метод вычисляет приближение к показательной функции параметра (e возведенный в степень параметра, где e является основой натуральных логарифмов (§20.11.1)), используя exp
алгоритм как публикующийся в fdlibm
(см. введение в этот раздел).
20.11.11 public static double
log
(double a)
Этот метод вычисляет приближение к натуральному логарифму параметра, используя log
алгоритм как публикующийся в fdlibm
(см. введение в этот раздел).
20.11.12 public static double
sqrt
(double a)
Этот метод вычисляет приближение к квадратному корню параметра.
double
оцените самый близкий к истинному математическому квадратному корню значения аргумента. 20.11.13 public static double
pow
(double a, double b)
Этот метод вычисляет приближение к математической работе возведения в степень первого параметра второго параметра, используя pow
алгоритм как публикующийся в fdlibm
(см. введение в этот раздел).
1.0
.
1.0
, тогда результатом является то же самое как первый параметр.
double
значение. ceil
(§20.11.15) или, который является той же самой вещью, фиксированной точкой метода floor
(§20.11.16). Значение является фиксированной точкой метода с одним параметром, если и только если результат применения метода к значению равен значению.) 20.11.14 public static double
IEEEremainder
(double x, double y)
Этот метод вычисляет работу остатка на двух параметрах как предписано стандартом IEEE 754: значение остатка математически равно туда, где математическое целое число, самое близкое к точному математическому значению частного; если два математических целых числа одинаково близко к тогда n, целое число, которое является даже. Если остаток является нулем, его знак является тем же самым как знаком первого параметра.
20.11.15 public static double
ceil
(double a)
Результат является самым маленьким (самый близкий к отрицательной бесконечности) double
значение, которое не является меньше чем параметр и равно математическому целому числу.
-1.0
, тогда результатом является отрицательный нуль. Math.ceil(x)
точно значение -Math.floor(-x)
. 20.11.16 public static double
floor
(double a)
Результат является самым большим (самый близкий к положительной бесконечности) double
значение, которое не больше чем параметр и равно математическому целому числу.
20.11.17 public static double
rint
(double a)
Результат double
значение, которое является самым близким в значении к параметру и является равным математическому целому числу. Если два double
значения, которые являются математическими целыми числами, одинаково близко к значению параметра, результатом является целочисленное значение, которое является даже.
20.11.18 public static int
round
(float a)
Результат округляется к целому числу, добавляя, получая слово результата, и бросая результат ввести int
.
Другими словами результат равен значению выражения:
(int)Math.floor(a + 0.5f)Особые случаи:
0
.
Integer.MIN_VALUE
(§20.7.1), результат равен значению Integer.MIN_VALUE
.
Integer.MAX_VALUE
(§20.7.2), результат равен значению Integer.MAX_VALUE
. 20.11.19 public static long
round
(double a)
Результат округляется к целому числу, добавляя, получая слово результата, и бросая результат ввести long
.
Другими словами результат равен значению выражения:
(long)Math.floor(a + 0.5d)Особые случаи:
0
.
Long.MIN_VALUE
(§20.7.1), результат равен значению Long.MIN_VALUE
.
Long.MAX_VALUE
(§20.7.2), результат равен значению Long.MAX_VALUE
. 20.11.20 public static double
random
()
Результатом является двойное значение с положительным знаком, больше чем или равный нулю, но меньше чем 1.0
, выбранный псевдобеспорядочно с (приблизительно) равномерным распределением от того диапазона.
Когда этот метод сначала вызывают, он создает единственный новый генератор псевдослучайных чисел, точно как будто по выражению
new java.util.Random()Этот новый генератор псевдослучайных чисел используется после того для всех звонков в этот метод и используется больше нигде.
Этот метод должным образом синхронизируется, чтобы позволить корректное использование больше чем одним потоком. Однако, если много потоков должны генерировать псевдослучайные числа по высокой цене, это может уменьшить конкуренцию для каждого потока, чтобы иметь его собственный генератор псевдослучайного числа.
20.11.21 public static int
abs
(int a)
Результатом является абсолютное значение параметра, если возможный.
Если параметр не отрицателен, параметр возвращается.
Если параметр отрицателен, отрицание параметра возвращается. Отметьте это, если параметр равен значению Integer.MIN_VALUE
(§20.7.1), самое отрицательное представимое int
значение, результатом будет та же самая отрицательная величина.
20.11.22 public static long
abs
(long a)
Результатом является абсолютное значение параметра, если возможный.
Если параметр не отрицателен, параметр возвращается.
Если параметр отрицателен, отрицание параметра возвращается. Отметьте это, если параметр равен значению Long.MIN_VALUE
(§20.8.1), самое отрицательное представимое long
значение, результатом будет та же самая отрицательная величина.
20.11.23 public static float
abs
(float a)
Параметр возвращается с его знаком, измененным, чтобы быть положительным.
Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))[Эта спецификация для метода
abs
планируется для введения в версии 1.1 Java. В предыдущих версиях Java, abs(-0.0f)
возвраты -0.0f
, который не корректен.]20.11.24 public static double
abs
(double a)
Параметр возвращается с его знаком, измененным, чтобы быть положительным.
Double.longBitsToDouble((Double.doubleToLongBits(a)<<1)>>>1)[Эта спецификация для метода
abs
планируется для введения в версии 1.1 Java. В предыдущих версиях Java, abs(-0.0d)
возвраты -0.0d
, который не корректен.]20.11.25 public static int
min
(int a, int b)
Результатом являются меньшие из этих двух параметров - то есть, один ближе к значению Integer.MIN_VALUE
(§20.7.1). Если у параметров есть то же самое значение, результатом является то же самое значение.
20.11.26 public static long
min
(long a, long b)
Результатом являются меньшие из этих двух параметров - то есть, один ближе к значению Long.MIN_VALUE
(§20.8.1). Если у параметров есть то же самое значение, результатом является то же самое значение.
20.11.27 public static float
min
(float a, float b)
Результатом являются меньшие из этих двух параметров - то есть, один ближе к отрицательной бесконечности. Если у параметров есть то же самое значение, результатом является то же самое значение.
min
планируется для введения в версии 1.1 Java. В предыдущих версиях Java, min(0.0f,
-0.0f)
возвраты 0.0f
, который не корректен.]20.11.28 public static double
min
(double a, double b)
Результатом являются меньшие из этих двух параметров - то есть, один ближе к отрицательной бесконечности. Если у параметров есть то же самое значение, результатом является то же самое значение.
min
планируется для введения в версии 1.1 Java. В предыдущих версиях Java, min(0.0d,
-0.0d)
возвраты 0.0d
, который не корректен.]20.11.29 public static int
max
(int a, int b)
Результатом являются большие из этих двух параметров - то есть, один ближе к значению Integer.MAX_VALUE
(§20.7.2). Если у параметров есть то же самое значение, результатом является то же самое значение.
20.11.30 public static long
max
(long a, long b)
Результатом являются большие из этих двух параметров - то есть, один ближе к значению Long.MAX_VALUE
(§20.8.2). Если у параметров есть то же самое значение, результатом является то же самое значение.
20.11.31 public static float
max
(float a, float b)
Результатом являются большие из этих двух параметров - то есть, один ближе к положительной бесконечности. Если у параметров есть то же самое значение, результатом является то же самое значение.
max
планируется для введения в версии 1.1 Java. В предыдущих версиях Java, max(-0.0f,
0.0f)
возвраты -0.0f
, который не корректен.]20.11.32 public static double
max
(double a, double b)
Результатом являются большие из этих двух параметров - то есть, один ближе к положительной бесконечности. Если у параметров есть то же самое значение, результатом является то же самое значение.
max
планируется для введения в версии 1.1 Java. В предыдущих версиях Java, max(-0.0d,
0.0d)
возвраты -0.0d
, который не корректен.].
Содержание | Предыдущий | Следующий | Индекс
Спецификация языка Java (HTML, сгенерированный Блинчиком "сюзет" Pelouch 24 февраля 1998)
Авторское право © Sun Microsystems, Inc 1996 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к doug.kramer@sun.com