В языке C++ присутствует ряд функций, которые можно использовать в арифметических выражениях. В таблице ниже приведены наиболее часто используемые из них.
Функция | Описание | Аргумент | Значение |
sqrt(x) | Квадратный корень числа (√x) | double | double |
hypot(a,b) | Длина гипотенузы треугольника с длинами катетов a и b | double | double |
abs(x) | Модуль числа (|x|) | int | int |
fabs(x) | double | double |
min(x,y) | Минимум и максимум из двух значений (algorithm) | - | - |
max(x,y) |
pow(x,y) | Возведение в степень (xy) | double | double |
sizeof(x) | Размер памяти, занимаемой переменной (в байтах) | – | int |
int(x) | Преобразование типа | - | int |
char(x) | char |
double(x) | double |
round(x) | Округление числа x до ближайшего целого по математическим правилам | double | double |
floor(x) | Ближайшее целое число, меньшее, либо равное x | double | double |
ceil(x) | Ближайшее целое число, большее, либо равное x | double | double |
sin(x) | Синус, косинус и тангенс угла (в радианах) | double | double |
cos(x) |
tan(x) |
atan(x) | Арктангенс x, выраженный в радианах: [-π/2, π/2] | double | double |
atan2(y,x) | Арктангенс y/x, выраженный в радианах: [-π, π] | double | double |
log(x) | Натуральный логарифм (ln x) | double | double |
Большинство из представленных выше функций присутствуют в библиотеке cmath.
Запись арифметических выражений в C++ несколько отличается от математической записи. Это объясняется необходимостью записи любого выражения в одну строку в то время как математическая запись может использовать несколько строк. Примеры ниже позволят понять особенности использования арифметических выражений в C++.
Математическая запись | Запись на языке C++ |
2(x+y) | 2*(x+y) |
| (x+y)/2 |
| x+sqrt((x+y)*(x+y)+5) |
| cos(x)*cos(x)/(3*y) |
| (sqrt(sin(x)+y*y*y)+sqrt(x+y))/(2*x+y) |