c++ 中
cmath
库中包含了各种用于数学计算的标准函数,以下纪录常用的数学计算方法
#include <iostream>
#include <stdio.h>
#include <CMATH>
using namespace std;
extern void math_calc();
int main()
{
math_calc();
return 0;
}
void math_calc()
{
const double PI = 3.141592653589793238463;
// cos 计算弧度角(double 型)的余弦
cout << "cos(60°)="<<cos(PI / 3) << endl;
// sin 计算弧度角(double 型)的正弦
cout << "sin(30°)=" << sin(PI / 6) << endl;
// tan 计算弧度角(double 型)的正切
cout << "tan(30°)=" << tan(PI / 6) << endl;
// log(d) 计算一个数的自然对数:log(x),以e为底
printf("log(%f) = %f\n", 15.0, log(15.0));
// log10(d) 计算一个数的以10为底的对数:log10(x),以10为底
printf("log10(%f) = %f\n", 1000.0, log10(1000.0));
// exp(d) 计算以自然常数e为底的指数:exp(x)
printf("exp(%f) = %f\n", 5.0, exp(5.0));
// exp2(d) 计算以2为底的指数:exp2(x)
printf("exp2(%f) = %f\n",3.0, exp2(3.0));
// pow(d, d) 计算x的y次方
printf("pow(%f, %f) = %f\n", 2.0, 3.0, pow(2.0, 3.0));
// hypot(d, d) 两个参数的平方总和的平方根,即勾股定理
printf("hypot(%f, %f) = %f\n", 3.0, 4.0, hypot(3.0, 4.0));
// sqrt(d) 计算x的平方根
printf("sqrt(%f) = %f\n", 16.0, sqrt(16.0));
// cbrt(d) 计算一个的立方根
printf("cbrt(%f) = %f\n", 27.0, cbrt(27.0));
// abs(i) 计算整数的绝对值
printf("abs(%d) = %d\n", -5, abs(-5));
// fabs(d) 计算浮点数的绝对值
printf("fabs(%f) = %f\n", -5.58, fabs(-5.58));
// floor(d) 向下取整
printf("floor(%f) = %f\n", 5.58, floor(5.58));
// ceil(d) 向上取整
printf("ceil(%f) = %f\n", 5.58, ceil(5.58));
// modf (d , d) 将一个浮点数分为整数和小数部分
double fract, int_part;
fract = modf(3.15, &int_part);
printf("%f = %f + %f\n", 3.15, int_part, fract);
}
运行结果如下:
cos(60°)=0.5
sin(30°)=0.5
tan(30°)=0.57735
log(15.000000) = 2.708050
log10(1000.000000) = 3.000000
exp(5.000000) = 148.413159
exp2(3.000000) = 8.000000
pow(2.000000, 3.000000) = 8.000000
hypot(3.000000, 4.000000) = 5.000000
sqrt(16.000000) = 4.000000
cbrt(27.000000) = 3.000000
abs(-5) = 5
fabs(-5.580000) = 5.580000
floor(5.580000) = 5.000000
ceil(5.580000) = 6.000000
3.150000 = 3.000000 + 0.150000
网友评论