<cmath>
是 C++ 标准库中用于数学运算的头文件,提供了一系列函数来执行各种数学计算。使用前需包含此头文件:
#include <cmath>
常用函数
-
绝对值:double absVal = abs(-5.5); // 结果是 5.5
-
幂运算:double power = pow(2.0, 3.0); // 结果是 8.0
-
平方根:double root = sqrt(16.0); // 结果是 4.0
-
三角函数:double sine = sin(M_PI / 2); // 结果是 1.0
double cosine = cos(0); // 结果是 1.0
double tangent = tan(M_PI / 4); // 结果是 1.0 -
对数和指数:double logarithm = log(2.71828); // 结果接近 1.0
double exponent = exp(1); // 结果是 e
注意事项
- 输入参数要确保在函数允许的范围内,例如
sqrt
函数的输入必须为非负值。 - 三角函数的参数以弧度为单位,若需要以度为单位,可以先将度转换为弧度,公式为:
弧度 = 度 * (M_PI / 180.0)
。 <cmath>
中的函数通常接受float
或double
类型的参数,并返回相应类型的结果。对于long double
类型,你可以使用<cmath>
中的函数,但需要在函数名后加上l
后缀,例如sqrtl
。- 某些函数,如
pow
和log
,可以接受整数作为参数,但结果仍然是浮点数。 <cmath>
中的函数可能会抛出异常,例如当sqrt
函数的参数为负数时,会抛出std::domain_error
异常。
示例代码
以下是一个简单的示例,演示如何使用 <cmath>
中的常用函数:
#include <iostream>
#include <cmath>
#define M_PI 3.14159265358979323846 // 定义 π
int main() {
double x = -5.5;
std::cout << "绝对值: " << abs(x) << std::endl; // 5.5
double base = 2.0, exponent = 3.0;
std::cout << "幂运算: " << pow(base, exponent) << std::endl; // 8.0
double value = 16.0;
std::cout << "平方根: " << sqrt(value) << std::endl; // 4.0
double angle = M_PI / 2;
std::cout << "正弦: " << sin(angle) << std::endl; // 1.0
return 0;
}