- C++
C++常用的数学函数
- @ 2024-12-28 11:12:24
- 绝对值函数 -
abs和fabsabs函数:用于求整数的绝对值。它定义在<cstdlib>头文件中。例如,int num=-5; int abs_num = abs(num);,这里abs_num的值为5。它的函数原型是int abs(int n);,只能用于整数类型。fabs函数:用于求浮点数的绝对值。定义在<cmath>头文件中。例如,double num=-3.14; double fabs_num = fabs(num);,fabs_num的值为3.14。函数原型是double fabs(double x);,可以处理float、double等浮点数类型。
- 幂函数 -
pow- 用于计算一个数的幂次方。定义在
<cmath>头文件中。例如,double result = pow(2, 3);,计算2的3次方,result的值为8。函数原型是double pow(double base, double exponent);,base是底数,exponent是指数。需要注意的是,当底数为负数且指数为小数时,结果可能是未定义的。
- 用于计算一个数的幂次方。定义在
- 平方根函数 -
sqrt- 用于计算一个非负数的平方根。定义在
<cmath>头文件中。例如,double num = 9; double sqrt_num = sqrt(num);,sqrt_num的值为3。函数原型是double sqrt(double x);,参数x必须是非负的,否则会产生未定义行为(在某些实现中可能会返回nan- 非数字)。
- 用于计算一个非负数的平方根。定义在
- 三角函数 -
sin、cos、tan等- 这些函数用于计算三角函数值,都定义在
<cmath>头文件中。 sin函数:用于计算正弦值。例如,double angle = 30.0 * 3.1415926/180.0; double sin_value = sin(angle);,这里先将角度30度转换为弧度(因为C++中的三角函数默认使用弧度制),然后计算正弦值。函数原型是double sin(double x);,x是弧度值。cos函数:用于计算余弦值。用法和sin类似,函数原型是double cos(double x);。tan函数:用于计算正切值。函数原型是double tan(double x);。
- 这些函数用于计算三角函数值,都定义在
- 反三角函数 -
asin、acos、atan等- 用于计算反三角函数值,定义在
<cmath>头文件中。 asin函数:计算反正弦值。其结果是一个弧度值,范围在[-π/2,π/2]之间。函数原型是double asin(double x);,x的取值范围是[-1,1],否则会产生未定义行为。acos函数:计算反余弦值。结果范围在[0,π]之间,函数原型是double acos(double x);,x取值范围也是[-1,1]。atan函数:计算反正切值。结果范围在(-π/2,π/2)之间,函数原型是double atan(double x);。
- 用于计算反三角函数值,定义在
- 对数函数 -
log、log10log函数:用于计算自然对数(以e为底)。定义在<cmath>头文件中。例如,double num = 2.71828; double log_num = log(num);,函数原型是double log(double x);,x必须是大于0的数。log10函数:用于计算以10为底的对数。例如,double num = 100; double log10_num = log10(num);,log10_num的值为2。函数原型是double log10(double x);,x同样必须大于0。
- 取整函数 -
ceil、floor、round- 前面已经介绍过
ceil(向上取整)和floor(向下取整)函数,它们都定义在<cmath>头文件中。 round函数:用于将浮点数四舍五入到最接近的整数。定义在<cmath>头文件中。例如,double num = 5.4; int round_num = round(num);,round_num的值为5;如果num = 5.6,则round_num的值为6。函数原型是int round(double x);。
- 前面已经介绍过
2 条评论
-
admin SU @ 2024-12-28 11:18:30
abs函数(求整数绝对值)- 示例代码:
#include <cstdlib> #include <iostream> int main() { int a = -7; int abs_a = abs(a); std::cout << "The absolute value of " << a << " is " << abs_a << std::endl; return 0; }- 解释:
- 首先,
#include <cstdlib>是包含头文件,因为abs函数的声明在这个头文件中。 - 定义一个整数变量
a为-7。 - 通过
abs(a)调用abs函数来计算a的绝对值,结果存储在abs_a变量中。 - 最后,使用
std::cout输出结果,显示The absolute value of -7 is 7。
- 首先,
fabs函数(求浮点数绝对值)- 示例代码:
#include <cmath> #include <iostream> int main() { double b = -3.14; double fabs_b = fabs(b); std::cout << "The absolute value of " << b << " is " << fabs_b << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件,因为fabs函数在这个头文件中声明。 - 定义双精度浮点数
b为-3.14。 - 调用
fabs(b)计算b的绝对值,结果3.14存储在fabs_b中。 - 输出语句显示
The absolute value of -3.14 is 3.14。
- 包含
pow函数(幂运算)- 示例代码:
#include <cmath> #include <iostream> int main() { double base = 3.0; double exponent = 2.0; double result = pow(base, exponent); std::cout << base << " to the power of " << exponent << " is " << result << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件用于pow函数。 - 定义底数
base为3.0和指数exponent为2.0。 - 通过
pow(base,exponent)计算base的exponent次方,结果9.0存储在result中。 - 输出语句显示
3 to the power of 2 is 9。
- 包含
sqrt函数(平方根运算)- 示例代码:
#include <cmath> #include <iostream> int main() { double c = 16.0; double sqrt_c = sqrt(c); std::cout << "The square root of " << c << " is " << sqrt_c << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件,因为sqrt函数在其中。 - 定义变量
c为16.0。 - 调用
sqrt(c)计算c的平方根,结果4.0存储在sqrt_c中。 - 输出语句显示
The square root of 16 is 4。
- 包含
sin函数(正弦函数)- 示例代码:
#include <cmath> #include <iostream> int main() { double angle = 45.0 * 3.1415926 / 180.0; // 将角度转换为弧度 double sin_value = sin(angle); std::cout << "The sine of 45 degrees is " << sin_value << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件,因为sin函数在此头文件中。 - 先将
45度转换为弧度(因为sin函数的参数要求是弧度),存储在angle变量中。 - 调用
sin(angle)计算正弦值,结果存储在sin_value中。 - 输出语句显示
The sine of 45 degrees is 0.707107(近似值)。
- 包含
cos函数(余弦函数)- 示例代码:
#include <cmath> #include <iostream> int main() { double angle = 60.0 * 3.1415926 / 180.0; double cos_value = cos(angle); std::cout << "The cosine of 60 degrees is " << cos_value << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件。 - 将
60度转换为弧度后存储在angle变量。 - 调用
cos(angle)计算余弦值,结果存储在cos_value中。 - 输出语句显示
The cosine of 60 degrees is 0.5(近似值)。
- 包含
tan函数(正切函数)- 示例代码:
#include <cmath> #include <iostream> int main() { double angle = 30.0 * 3.1415926 / 180.0; double tan_value = tan(angle); std::cout << "The tangent of 30 degrees is " << tan_value << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件。 - 把
30度转换为弧度存储在angle变量。 - 调用
tan(angle)计算正切值,结果存储在tan_value中。 - 输出语句显示
The tangent of 30 degrees is 0.57735(近似值)。
- 包含
log函数(自然对数)- 示例代码:
#include <cmath> #include <iostream> int main() { double d = 2.71828; double log_d = log(d); std::cout << "The natural logarithm of " << d << " is " << log_d << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件。 - 定义变量
d为自然常数e的近似值2.71828。 - 调用
log(d)计算自然对数,结果存储在log_d中。 - 输出语句显示
The natural logarithm of 2.71828 is 1(近似值)。
- 包含
log10函数(以10为底的对数)- 示例代码:
#include <cmath> #include <iostream> int main() { double e = 100.0; double log10_e = log10(e); std::cout << "The logarithm base 10 of " << e << " is " << log10_e << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件。 - 定义变量
e为100.0。 - 调用
log10(e)计算以10为底e的对数,结果2.0存储在log10_e中。 - 输出语句显示
The logarithm base 10 of 100 is 2。
- 包含
ceil函数(向上取整)
- 示例代码:
#include <cmath> #include <iostream> int main() { double f = 4.1; double ceil_f = ceil(f); std::cout << "The ceiling of " << f << " is " << ceil_f << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件。 - 定义变量
f为4.1。 - 调用
ceil(f)向上取整,结果5.0存储在ceil_f中。 - 输出语句显示
The ceiling of 4.1 is 5。
- 包含
floor函数(向下取整)
- 示例代码:
#include <cmath> #include <iostream> int main() { double g = 4.9; double floor_g = floor(g); std::cout << "The floor of " << g << " is " << floor_g << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件。 - 定义变量
g为4.9。 - 调用
floor(g)向下取整,结果4.0存储在floor_g中。 - 输出语句显示
The floor of 4.9 is 4。
- 包含
round函数(四舍五入)
- 示例代码:
#include <cmath> #include <iostream> int main() { double h = 5.4; int round_h = round(h); std::cout << "The rounded value of " << h << " is " << round_h << std::endl; return 0; }- 解释:
- 包含
<cmath>头文件。 - 定义变量
h为5.4。 - 调用
round(h)进行四舍五入,结果5存储在round_h中。 - 输出语句显示
The rounded value of 5.4 is 5。
- 包含
-
@ 2024-12-28 11:13:31
- 绝对值函数
abs函数(用于整数)- 示例代码:
#include <cstdlib> #include <iostream> int main() { int num1 = -5; int abs_result1 = abs(num1); std::cout << "The absolute value of " << num1 << " is " << abs_result1 << std::endl; return 0; }- 解释:在这个示例中,首先包含了
<cstdlib>头文件,因为abs函数的定义在这个头文件中。然后定义了一个整数num1为-5,通过abs(num1)计算其绝对值,结果存储在abs_result1中,最后输出结果,显示The absolute value of -5 is 5。
fabs函数(用于浮点数)- 示例代码:
#include <cmath> #include <iostream> int main() { double num2 = -3.14; double fabs_result2 = fabs(num2); std::cout << "The absolute value of " << num2 << " is " << fabs_result2 << std::endl; return 0; }- 解释:这里包含了
<cmath>头文件,因为fabs函数在其中定义。定义了一个双精度浮点数num2为-3.14,使用fabs(num2)计算其绝对值,结果3.14存储在fabs_result2中并输出。
- 幂函数 -
pow- 示例代码:
#include <cmath> #include <iostream> int main() { double base = 2.0; double exponent = 3.0; double pow_result = pow(base, exponent); std::cout << base << " raised to the power of " << exponent << " is " << pow_result << std::endl; return 0; }- 解释:包含
<cmath>头文件后,定义了底数base为2.0和指数exponent为3.0。通过pow(base,exponent)计算2.0的3.0次方,结果8.0存储在pow_result中并输出,显示2 raised to the power of 3 is 8。
- 平方根函数 -
sqrt- 示例代码:
#include <cmath> #include <iostream> int main() { double num3 = 9.0; double sqrt_result = sqrt(num3); std::cout << "The square root of " << num3 << " is " << sqrt_result << std::endl; return 0; }- 解释:在包含
<cmath>头文件后,定义了一个数num3为9.0。使用sqrt(num3)计算其平方根,结果3.0存储在sqrt_result中并输出,显示The square root of 9 is 3。
- 三角函数 -
sin(以正弦函数为例)- 示例代码:
#include <cmath> #include <iostream> int main() { double angle_in_degrees = 30.0; double angle_in_radians = angle_in_degrees * 3.1415926 / 180.0; double sin_result = sin(angle_in_radians); std::cout << "The sine of " << angle_in_degrees << " degrees is " << sin_result << std::endl; return 0; }- 解释:首先包含
<cmath>头文件。因为C++中的三角函数使用弧度制,所以先将角度30.0度转换为弧度(通过angle_in_degrees * 3.1415926/180.0),得到angle_in_radians。然后使用sin(angle_in_radians)计算正弦值,结果存储在sin_result中并输出,显示The sine of 30 degrees is 0.5(近似值)。
- 反三角函数 -
asin(以反正弦函数为例)- 示例代码:
#include <cmath> #include <iostream> int main() { double value = 0.5; double asin_result = asin(value); double asin_result_in_degrees = asin_result * 180.0 / 3.1415926; std::cout << "The arcsine of " << value << " is " << asin_result_in_degrees << " degrees" << std::endl; return 0; }- 解释:包含
<cmath>头文件后,定义了一个值value为0.5。使用asin(value)计算反正弦值,得到的结果是弧度制的asin_result。然后将其转换为角度制(通过asin_result * 180.0/3.1415926),得到asin_result_in_degrees并输出,显示The arcsine of 0.5 is 30 degrees(近似值)。
- 对数函数 -
log(以自然对数为例)- 示例代码:
#include <cmath> #include <iostream> int main() { double num4 = 2.71828; double log_result = log(num4); std::cout << "The natural logarithm of " << num4 << " is " << log_result << std::endl; return 0; }- 解释:包含
<cmath>头文件后,定义了一个数num4为2.71828(近似于自然常数e)。使用log(num4)计算其自然对数,结果存储在log_result中并输出,显示The natural logarithm of 2.71828 is 1(近似值)。
- 取整函数 -
round(以四舍五入为例)- 示例代码:
#include <cmath> #include <iostream> int main() { double num5 = 5.6; int round_result = round(num5); std::cout << "The rounded value of " << num5 << " is " << round_result << std::endl; return 0; }- 解释:包含
<cmath>头文件后,定义了一个双精度浮点数num5为5.6。使用round(num5)对其进行四舍五入,结果6存储在round_result中并输出,显示The rounded value of 5.6 is 6。
- 绝对值函数
- 1