Эмммм. это что? фигня какая-то написана.. где описание? где примеры?
По-моему, всё предельно ясно. И описание с примером присутствуют, кстати.
Метод pow() объекта Math,возводит число в степень. Например: var a=Math.pow(3,2)//9 var b=Math.pow(7,7)823543
Правда, че, сложно несколько строчек написать описания и примеров? Че за референс такой? В первых позициях по js выдается.
Иди назад в школу и учи математику.
Для тех, кто не учился в школе:
Метод pow() объекта Math,возводит число в степень. Например: var a=Math.pow(3,2)//9 var b=Math.pow(7,7)823543
Пример 1 Math.pow(3,2) — это тройка(3,2) во второй степени(3,2). Если представить по-другому, получится: var a=3*3, что равняется 9.
Пример 2 Math.pow(7,7) — это семь(7,7) в степени семь(7,7). Если представить по-другому, получится: var a=7*7*7*7*7*7*7, что равняется 823543.
Совсем для двоечников и людей, которым в программирование лучше вообще не лезть, разберу первый пример ЕЩЕ подробнее: мы уже поняли, что: Math.pow(3,2) идентично var a=3*3. Подробнее это выглядите так: var a=3+3+3
ВНИМАНИЕ! Если даже последний пункт не понятен — закройте эту страницу и НИКОГДА на нее не возвращайтесь! )))
а тут нету смайлика, который со смеху умирает? D)
Обычно, кто так говорит сам особо умом неблещет.
Чё-то я ни чего не понял.
Это 5. Я бы еще посоветовал закрыть интернет и пойти попялиться телевизор
Ладно, уйду. Вы меня прогнали. Какие злые люди стали.
Ну как, почувствовали себя умнее «двоечников», потешили свое ЭГО? Поздравляю! А вообще стоит задуматься о том, что если кто-то чего-то не знает из того, что знаете Вы, даже элементарного, это не делает вас выше этого человека. И кто знает, может на эту страницу и школьники заглядывают?
С таким уровнем образования вам не JS надо, а на завод болванки напильником обрабатывать)))
как раз на js такие люди и прогают. особые навыки нужны для настоящего программирования
А если так Math.pow(2,.5) . Вроде бы
1.414, но не понятно же из описания, может ли показатель степени быть не целочисленным. Скажите тривиально? Math.pow(2+1j,.5) а так?
Что будет с отрицательными числами ? Почему такая запись выдаёт положительное число ?
Почему можете объяснить ?
-2^2 = 4, т.к. степень четная, результат от возведения в любую четную степень будет всегда положительным.
Правельно говорил тот кто говорил иди обратно в школу и учи математику.ЗАПОМНИТЕ!При умножении отрицательного числа на отрицательное ответ будет положительным. Это ГЛАВНОЕ ПРАВИЛО В МАТЕМАТИКЕ.
ПравИльно в школе говорили, «грамматику учи, дурик!» :Р
тому що оператор === це строге порівняння (-4 === -4) — тільки так буде true; вірно ?))
статью нужно оформлять так чтобы было понятно любому пользователю сразу, а не догадывать и читать коменты.
> Что будет с отрицательными числами ? > Почему такая запись выдаёт положительное число ?
Ого-го. Сначала не мог понять, что здесь не так, потом вдруг осенило: человек, задающий этот вопрос, пишет код на JS. Не думал, что такое вообще возможно.
Потому что если -2 умножить на -2 будет +4
Он ещё наверное на всех фриланс-сайтах свои услуги предлагает — за 30$/час.)))
Функция не всегда работает так как надо, например:
Math.pow(-2, -1.5) вернет NaN
Какие есть альтернативные способы сделать подобные вычисления в JS? Хотел сделать функцию вычисления проекции Меркатора, а из-за этого бага не работает
Мнимые числа, же, ёпта! ЖС не умеет их считать. Оно и правильно.
нужно писать функцию для вычисления комплексных чисел. к сожалению Math.pow() возвращает NaN даже для корня кубического от отрицательного числа. вот вариант решения этой проблемы, может кому то пригодиться,
тоже касается и комплексных чисел, нужно самому писать
Изучаем Java
Вы здесь: Главная >> Java-учебник >> Математические функции и константы
Обучающие курсы:
Математические функции и константы в языке Java
Класс Math содержит набор математических функций, часто оказывающихся необходимыми при решении разных задач. Чтобы извлечь квадратный корень из числа, применяют метод sqrt. double х = 4; double у = Math.sqrt(х); System.out.println(у); // Печатает число 2.0.
Между методами println и sqrt есть небольшая разница. Метод println действует на объект System, out, имея второй параметр у — число, подлежащее выводу. (Напомним, что out — это объект, определенный в классе System и представляющий собой стандартное устройство вывода.)
В то же время метод sqrt в классе Math не работает ни с одним объектом. Он имеет единственный параметр х — число, из которого нужно извлечь корень. Такие методы называются статическими.
В языке Java нет оператора возведения в степень: для этого нужно использовать метод pow из класса Math.
Оператор double у = Math.pow(x,a) ; присваивает переменной у значение переменной х, возведенное в степень а.
Оба параметра метода pow, а также возвращаемое им значение имеют тип double.
Класс Math содержит обычные тригонометрические функции: Math.sin Math.cos Math.tan Math.atan Math.atan2
Кроме этого, в него включены экспоненциальная и обратная к ней логарифмическая функции (натуральный логарифм): Math.exp Math.log
В классе определены также две константы Math.PI Math.E, обозначающие аппроксимации чисел Пи и е.
Для повышения своей производительности функции в классе Math используют программы из встроенного модуля для вычислений с плавающей точкой. Если точность вычислений важнее скорости их выполнения, используйте класс strictMath. Он реализует алгоритмы из библиотеки «Freely Distributable Math Library» («Свободно распространяемая библиотека математических функций») fdlibm, гарантирующей идентичность результатов на всех платформах.
Исходные тексты программ, реализующих эти алгоритмы, можно найти на web-странице http://www.netlib.org/fdlibm/index.html. (В библиотеке fdlibm дается несколько определений каждой функции, класс StrictMath следует версии IEEE754, имена функций в которой начинаются с буквы «е».)
Преобразования числовых типов
ОБУЧАЮЩИЙ ВЕБИНАР: рассчитан на новичков в web-разработке. После вебинара вы научитесь создавать сайты с помощью Java + Spring Boot — перейти
Часто возникает необходимость преобразовать один числовой тип в другой.
На рис. 3.1 показаны разрешенные преобразования.
Шесть черных стрелок на рис. 3.1 обозначают преобразования, которые выполняются без потери информации. Три серые стрелки означают преобразования, при которых может произойти потеря точности. Например, количество цифр в большом целом числе 123456789 превышает количество цифр, которое может быть представлено типом float. Число, преобразованное в тип float, имеет правильную величину, но несколько меньшую точность.
int n = 123456789; float f = n; // Число n равно 1.23456789268.
Рис. 3.1 Разрешенные преобразования числовых типов
Если два значения объединяются бинарным оператором (например n+f, где n — целое число, a f — число с плавающей точкой), то перед выполнением операции оба операнда преобразовываются в числа, имеющие одинаковый тип.
Если хотя бы один из операндов имеет тип double, то второй тоже преобразовывается в число типа double.
В противном случае, если хотя бы один из операндов имеет тип float, то второй тоже преобразовывается в число типа float. В противном случае, если хотя бы один из операндов имеет тип long, то второй тоже преобразовывается в число типа long. В противном случае оба операнда преобразовываются в числа типа int.
Приведение числовых типов
В предыдущем разделе мы видели, что при необходимости значения типа int автоматически преобразовываются в значения типа double. С другой стороны, есть несколько очевидных ситуаций, когда число типа double рассматривается как целое. Преобразования чисел в языке Java возможны, однако, разумеется, при этом может происходить потеря информации. Такие преобразования называются приведением типа (cast).
Синтаксически приведение типа задается парой скобок, внутри которых указывается желательный тип, а затем — имя переменной. Например, double х = 9.997; int nx = (int)x;
Теперь в результате приведения значения с плавающей точкой к целому типу переменная nх равна 9, поскольку при этом дробная часть числа отбрасывается.
Если нужно округлить число с плавающей точкой до ближайшего целого числа (что во многих случаях является намного более полезным), используется метод Math.round. double x = 9.997; int nx = (int) Math. round (x);
Теперь переменная nx равна 10. При вызове метода round по-прежнему нужно выполнять приведение поскольку возвращаемое им значение имеет тип long, и присвоить его переменной типа int можно лишь с помощью явного приведения.
При попытке привести число одного типа к другому результат может выйти за пределы допустимого диапазона. В этом случае результат будет усечен.
Например, выражение (byte) 300 равно 44. Поэтому рекомендуется явно проверять заранее, будет ли результат лежать в допустимом диапазоне после приведения типов.
Приведение между булевским и целыми типами невозможно. Это предотвращает появление ошибок. В редких случаях для того, чтобы привести булевское значение к числовому типу, можно использовать условное выражение b ? 1 : 0.
Сергей Владимирцев 29.01.2011
Класс Math и пакет java.math
Класс Math содержит методы, связанные с геометрией и тригонометрией и прочей математики. Методы реализованы как static, поэтому можно сразу вызывать через Math.methodName() без создания экземпляра класса.
В классе определены две константы типа double: E и PI.
Популярные методы для тригонометрических функций принимают параметр типа double, выражающий угол в радианах.
sin(double d)
cos(double d)
tan(double d)
asin(double d)
acos(double d)
atan(double d)
atan2(double y, double x)
Существуют также гиперболические функции: sinh(), cosh(), tanh().
Из них хорошо знакомы возведение в степень — pow(2.0, 3.0) вернёт 8.0.
Также популярен метод для извлечения квадратного корня — sqrt(4.0). Если аргумент меньше нуля, то возвращается NaN. Похожий метод cbrt() извлекает кубический корень. Если аргумент отрицательный, то и возвращаемое значение будет отрицательным: -27.0-> -3.0.
abs() — возвращает абсолютное значение аргумента
ceil() — возвращает наименьшее целое число, которое больше аргумента
floor() — возвращает наибольшее целое число, которое меньше или равно аргументу
max() — возвращает большее из двух чисел
min() — возвращает меньшее из двух чисел
nextAfter() — возвращает следующее значение после аргумента в заданном направлении
nextUp() — возвращает следующее значение в положительном направлении
rint() — возвращает ближайшее целое к аргументу
round() — возвращает аргумент, округлённый вверх до ближайшего числа
ulp() — возвращает дистанцию между значением и ближайшим большим значением
copySign() — возвращает аргумент с тем же знаком, что у второго аргумента
getExponent() — возвращает экспоненту
IEEEremainder() — возвращает остаток от деления
hypot() — возвращает длину гипотенузы
random() — возвращает случайное число между 0 и 1 (единица в диапазон не входит)
signum() — возвращает знак значения
toDegrees() — преобразует радианы в градусы
toRadians() — преобразует градусы в радианы
Вычислим наибольшее и наименьшее числа из двух заданных значений.
Большие числа
Если вам не хватает точности основных типов для представления целых и вещественных чисел, то можно использовать классы BigInteger и BigDecimal из пакета java.math, которые предназначены для выполнения действий с числами, состоящими из произвольного количества цифр.
Для преобразования обычного числа в число с произвольной точностью (называемое большим числом) вызывается статический метод valueOf():
При работе с большими числами нельзя использовать привычные математические операции с помощью + или * и т.п. Вместо них следует использовать специальные методы add() (сложение), multiply() (умножение), divide() (деление) и т.д.
В обычной практике эти числа используются редко.
Класс Math
Класс Math содержит методы для выполнения основных числовых операций, таких как нахождение экспоненты, логарифма, квадратного корня и т. д.
Класс содержит две константы типа double: E и PI. Все методы в классе Math статичны.
Тип
Метод
Описание
double
abs(double a)
Возвращает абсолютное значение (модуль) числа типа double.
float
abs(float a)
Возвращает абсолютное значение (модуль) числа типа float .
int
abs(int a)
Возвращает абсолютное значение (модуль) числа типа int.
long
abs(long a)
Возвращает абсолютное значение (модуль) числа типа long.
double
acos(double a)
Возвращает арккосинус значения. Возвращенный угол находится в диапазоне от 0 до pi.
double
asin(double a)
Возвращает арксинус значения. Возвращенный угол в диапазоне от -pi/2 до pi/2.
double
atan(double a)
Возвращает арктангенс значения. Возвращенный угол в диапазоне от-pi/2 до pi/2.
double
cbrt(double a)
Возвращает кубический корень аргумента.
double
ceil(double a)
Возвращает наименьшее целое число, которое больше аргумента.
double
copySign(double magnitude, double sign)
Возвращает аргумент с тем же знаком, что у второго аргумента.
double
copySign(float magnitude, float sign)
Возвращает аргумент с тем же знаком, что у второго аргумента.
double
cos(double a)
Возвращает косинус аргумента.
double
cosh(double x)
Возвращает гиперболический косинус аргумента.
int
decrementExact(int a)
Возвращает значение аргумента уменьшенное на единицу.
long
decrementExact(long a)
Возвращает значение аргумента уменьшенное на единицу.
double
exp(double a)
Возвращает экспоненту аргумента.
double
floor(double a)
Возвращает наибольшее целое число, которое меньше или равно аргументу.
double
hypot(double x, double y)
Возвращает длину гипотенузы (sqrt(x 2 +y 2 )).
double
IEEEremainder(double f1, double f2)
Возвращает остаток от деления f1 на f2.
int
incrementExact(int a)
Возвращает значение аргумента увеличенное на единицу.
long
incrementExact(long a)
Возвращает значение аргумента увеличенное на единицу.
double
log(double a)
Возвращает натуральный логарифм (по основанию e).
double
log10(double a)
Возвращает логарифм по основанию 10.
double
max(double a, double b)
Возвращает больший из аргументов.
float
max(float a, float b)
Возвращает больший из аргументов.
int
max(int a, int b)
Возвращает больший из аргументов.
long
max(long a, long b)
Возвращает больший из аргументов.
double
min(double a, double b)
Возвращает меньший из аргументов.
float
min(float a, float b)
Возвращает меньший из аргументов.
int
min(int a, int b)
Возвращает меньший из аргументов.
long
min(long a, long b)
Возвращает меньший из аргументов.
int
multiplyExact(int x, int y)
Возвращает произведение аргументов (x*y).
long
multiplyExact(long x, long y)
Возвращает произведение аргументов (x*y).
int
negateExact(int a)
Возвращает отрицательное значение аргумента.
long
negateExact(long a)
Возвращает отрицательное значение аргумента.
double
pow(double a, double b)
Возвращает значение первого аргумента, возведенное в степень второго аргумента.
double
random()
Возвращает случайное число от 0.0 (включительно) до 1 (не включительно).
double
rint(double a)
Возвращает округленное значение аргумента.
int
round(double a)
Возвращает округленное значение аргумента.
double
signum(double a)
Возвращает знак аргумента.
floa
signum(float a)
Возвращает знак аргумента.
double
sin(double a)
Возвращает синус аргумента.
double
sinh(double a)
Возвращает гиперболический синус аргумента.
doubl
sqrt(double a)
Возвращает квадратный корень аргумента.
int
subtractExact(int x, int y)
Возвращает разность аргументов (x-y).
long
subtractExact(long x, long y)
Возвращает разность аргументов (x-y).
double
tan(double a)
Возвращает тангенс аргумента.
double
tanh(double a)
Возвращает гиперболический тангенс аргумента.
doubl
toDegrees()
Преобразует радианы в градусы.
int
toIntExact(long value)
Преобразует аргумент типа long в int.
doubl
toRadians()
Преобразует градусы в радианы.
abs(double a) — возвращает абсолютное значение (модуль) числа типа double.
abs(float a) — возвращает абсолютное значение (модуль) числа типа float .
abs(int a) — возвращает абсолютное значение (модуль) числа типа int.
abs(long a) — возвращает абсолютное значение (модуль) числа типа long.
acos(double a) — возвращает арккосинус значения. Возвращенный угол находится в диапазоне от 0 до pi.
asin(double a) — возвращает арксинус значения. Возвращенный угол в диапазоне от -pi/2 до pi/2.
atan(double a) — возвращает арктангенс значения. Возвращенный угол в диапазоне от-pi/2 до pi/2.
cbrt(double a) — возвращает кубический корень аргумента.
ceil(double a) — возвращает наименьшее целое число, которое больше аргумента.
copySign(double magnitude, double sign) — возвращает аргумент с тем же знаком, что у второго аргумента.
copySign(float magnitude, float sign) — возвращает аргумент с тем же знаком, что у второго аргумента.