- C++
C++常用的数学函数
- 2024-12-28 11:12:24 @
- 绝对值函数 -
abs
和fabs
abs
函数:用于求整数的绝对值。它定义在<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
、log10
log
函数:用于计算自然对数(以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