Математические функции С++: absolutevalue, sqrt, max, pow и другие

Математические функции С++C++ предоставляет большое количество математических функций, которые можно использовать непосредственно в программе. Будучи подмножеством языка C, C++ получает большинство этих математических функций из заголовка math.h языка C.

В C++ математические функции включены в заголовок <cmath>.

Таблица математических функций C++

Ниже приведен список важных математических функций в C++ вместе с их описанием, прототипом и примером.

Функция Прототип Описание Пример
Тригонометрические функции
1 cos double cos (double x); Возвращает косинус угла x в радианах. cout<< cos ( 60.0 * PI / 180.0 );
(here PI = 3.142)
**returns 0.540302
2 sin double sin(double x); Возвращает синус угла x в радианах. cout<< sin ( 60.0 * PI / 180.0 );
(here PI = 3.142)
**returns 0.841471
3 tan double tan (double x); Возвращает тангенс угла x в радианах. cout<< tan ( 45.0 * PI / 180.0 );
(here PI = 3.142)
**returns 0.931596
4 acos double acos (double x); Возвращает арккосинус угла x в радианах.
** Арккосинус — это арккосинус операции косинуса.
double param = 0.5;
cout<< acos (param) *
180.0 / PI;
(here PI = 3.142)
**returns 62.8319
5 asin double asin(double x); Возвращает арксинус угла x в радианах.
** Арксинус — это арксинус операции sin.
double param = 0.5;
cout<< asin (param) *
180.0 / PI;
(here PI = 3.142)
**return 31.4159
6 atan double atan (double x); Возвращает арктангенс угла x в радианах. **Арктангенс — это арктангенс операции тангенса. double param = 1.0;
cout<< atan (param) *
180.0 / PI;
(here PI = 3.142)
**returns 47.1239
Силовые функции
7 pow double pow (double base, double exponent); Возвращает основание, возведенное в степень экспоненты. cout<<”2^3 = “<< pow(2,3);
**returns 8
8 sqrt double sqrt(double x); Возвращает квадратный корень из x. cout<< sqrt(49);
** returns 7
Функции округления и остатка
9 ceil double ceil (double x); Возвращает наименьшее целое значение, которое не меньше x; Округляет x в большую сторону. cout<< ceil(3.8);
**returns 4
10 floor double floor (double x); Возвращает большее целое значение, которое не больше x; Округляет x в меньшую сторону. cout<< floor(2.3);
**returns 2
11 fmod double fmod (double numer, double denom); Возвращает остаток от числа/знаменателя с плавающей запятой. cout<< fmod(5.3,2);
**returns 1.3
12 trunc double trunc (double x);
**also provides variations for float and long double
Возвращает ближайшее целочисленное значение, не превышающее x. Округляет x до нуля. cout<< trunc(2.3);
**returns 2
13 round double round (double x);
**also provides variations for float and long double
Возвращает целочисленное значение, ближайшее к x. cout<< round(4.6);
**returns 5
14 remainder double remainder (double numer, double denom);
**also provides variations for float and long double
Возвращает остаток от числа/знаменателя с плавающей запятой, округленный до ближайшего значения. cout<< remainder(18.5 ,4.2);
**returns 1.7
Минимум, максимум, разность и абсолютные функции
15 fmax double fmax (double x, double y).
**also provides variations for float and long double.
Возвращает большее значение аргументов x и y. Если одно число равно NaN, возвращается другое. cout<< fmax(100.0,1.0);
**returns 100
16 fmin double fmin (double x, double y);
**also provides variations for float and long double.
Возвращает меньшее значение аргументов x и y. Если одно число равно NaN, возвращается другое. cout<< fmin(100.0,1.0);
**returns 1
17 fdim double fdim (double x, double y);
**also provides variations for float and long double.
Возвращает положительную разницу между x и y. Если x > y, возвращает x-y; в противном случае возвращает ноль. cout<< fdim(2.0,1.0);
**returns 1
18 fabs double fabs(double x); Возвращает абсолютное значение x. cout<< fabs(3.1416);
**returns 3.1416
19 abs double abs ( double x);
**also provides variations for float and long double.
Возвращает абсолютное значение x. cout<< abs(3.1416);
**returns 3.1416
Экспоненциальные и логарифмические функции
20 exp double exp (double x); Возвращает экспоненциальное значение x, т.е. e x. cout<< exp(5.0);
**returns 148.413
21 log double log (double x); Возвращает натуральный логарифм x. (к основанию e). cout<< log(5);
**returns 1.60944
22 log10 double log10 (double x); Возвращает общий логарифм x (по основанию 10). cout<< log10(5);
**returns 0.69897

Читать также:  Static в С++

Программа C++, которая демонстрирует все функции, описанные выше:

Вывод данных:

cos(60) = 0.540302
sin(60) = 0.841471
tan(45) = 0.931596
acos(0.5) = 62.8319
asin(0.5) = 31.4159
atan(1.0) = 47.1239
2^3 = 8
sqrt(49) = 7
ceil(3.8) = 4
floor(2.3) = 2
fmod(5.3,2) = 1.3
trunc(5.3,2) = 2
round(4.6) = 5
remainder(18.5,4.2) = 1.7
fmax(100.0,1.0) = 100
fmin(100.0,1.0) = 1
fdim(2.0,1.0) = 1
fabs(3.1416) = 3.1416
abs(3.1416) = 3.1416
log(5) = 1.60944
exp(5.0) = 148.413
log10(5) = 0.69897

В приведенной выше программе мы выполнили математические функции, которые мы свели в таблицу выше, вместе с их соответствующими результатами.

Далее мы обсудим некоторые важные математические функции, используемые в C++.

Abs => Вычисляет абсолютное значение заданного числа.
Sqrt => Используется для нахождения квадратного корня из заданного числа.
Pow => Возвращает результат путем увеличения базы до заданного показателя степени.
Fmax => Находит максимальное из двух заданных чисел.

Далее, мы подробно обсудим каждую функцию, приведя соответствующие примеры. Мы также узнаем больше о математической константе M_PI, которая часто используется в количественных программах.

Abs

Прототип функции: return_type abs (data_type x);

Параметры функции: x=> значение, абсолютное значение которого должно быть возвращено.

х может быть следующих типов:

  • double
  • float
  • long double

Возвращаемое значение: возвращает абсолютное значение x.

Читать также:  Проектирование оборудования и схем ChefBot

В качестве параметров возвращаемое значение также может быть следующих типов:

  • double
  • float
  • long double

Описание: Функция abs используется для возврата абсолютного значения параметра, переданного в функцию.

Пример программы:

Вывод данных:

abs (10.57) = 10.57
abs (-25.63) = 25.63

В этой программе мы использовали примеры с положительным и отрицательным числом с функцией abs для большей ясности.

Sqrt

Прототип функции: double sqrt (двойной x);

Параметры функции: x=>значение, квадратный корень которого необходимо вычислить.

Если x отрицательное, возникает ошибка домена domain_error.

Возвращаемое значение: двойное значение, указывающее квадратный корень из x.

Если x отрицательное, возникает ошибка домена domain_error.

Описание: Функция sqrt принимает число в качестве параметра и вычисляет квадратный корень. Если аргумент отрицательный, возникает ошибка домена. Когда происходит ошибка домена, глобальная переменная errno устанавливается в EDOM.

Пример:

Вывод данных:

Square : root of 1024(sqrt(1024)):32
Square root of 25(sqrt(25)):5

В приведенной выше программе мы вычислили квадратный корень из 1024 и 25, используя функцию sqrt.

Pow

Прототип функции: double pow (double base, double exponent).

Параметры функции: base=> базовое значение.

Exponent => значение экспоненты

Возвращаемое значение: значение, полученное после возведения основания в степень.

Описание: Функция pow принимает два аргумента, т.е. основание и показатель степени, а затем возводит основание в степень показателя степени.

Если основание отрицательно, и показатель степени отрицателен, но не является целым числом, возникает ошибка домена. Некоторые реализации могут вызывать ошибку домена, когда и основание, и показатель степени равны нулю, а также если основание равно нулю, а показатель степени отрицателен.

Если результат функции слишком мал или слишком велик для возвращаемого типа, это может привести к ошибке диапазона.

Пример:

Вывод данных:

2 ^ 4 = 16
4 ^ 12 = 1.67772e+07
7 ^ 3 = 343

Вышеприведенная программа демонстрирует использование функции POW в C++. Мы видим, что она вычисляет значение, возводя число в указанную степень.

Max

Прототип функции: double fmax (double x, double y);

Параметры функции: x, y=> два значения, которые нужно сравнить, чтобы найти максимум.

Возвращаемое значение: возвращает максимальное значение двух параметров.

Если одним из параметров является Nan, возвращается другое значение.

Читать также:  Алгоритмы в STL

Описание: Функция fmax принимает два числовых аргумента и возвращает максимальное из двух значений. Помимо упомянутого выше прототипа, эта функция также имеет перегрузки для других типов данных, таких как float, long double и т. д.

Пример:

Вывод данных:

fmax (100.0, 1.0) = 100
fmax (675,-675) = 675
fmax (-100.0, -1.0) = -1

В приведенном выше коде показано использование функции fmax для нахождения максимума двух чисел. Мы видим случаи, когда одно из чисел отрицательное, и оба числа отрицательные.

Математические константы в C++

Заголовок <cmath> в C++ также включает несколько математических констант, которые можно использовать в математическом и количественном коде.

Чтобы включить математические константы в программу, мы должны использовать директиву #define и указать макрос «_USE_MATH_DEFINES». Этот макрос нужно добавить в программу до того, как мы включим библиотеку <cmath>.

Это делается вот таким образом:

#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>
….C++ Code…..

Одной из констант, которую мы часто используем при написании математических и количественных приложений, является PI. В следующей программе показано использование предопределенной константы PI в программе C++:

Вывод данных:

Value of M PI: 3.14 4159
Area of circle with M PI : 78.5398
Value of variable PI:3.142
Area of circle with PI : 78.55

Вышеприведенная программа демонстрирует математическую константу M_PI, доступную в <cmath>. Мы также предоставили локальную переменную PI, инициализированную значением 3,142. Выходные данные показывают площадь круга, вычисленную с использованием M_PI и локальной переменной PI с использованием одного и того же значения радиуса.

Хотя между двумя вычисленными значениями площади нет большой разницы, часто желательно использовать PI в качестве локально определенной переменной или константы.

Итог

C++ использует различные математические функции, такие как abs, fmax, sqrt, POW и т. д., а также тригонометрические и логарифмические функции, которые можно использовать для разработки количественных программ. Мы рассмотрели некоторые важные функции в этой статье вместе с их примерами.

Мы также представили математическую константу M_PI, определяющую значение геометрической константы PI, которую можно использовать для вычисления различных формул.

C++ использует математические функции, включая заголовок <cmath> в программу. Эти функции предопределены, и нам не нужно определять их в нашей программе. Мы можем напрямую использовать эти функции в коде, что, в свою очередь, делает кодирование более эффективным.

С Уважением, МониторБанк

Добавить комментарий