cmath中的函数
最大最小值
max求最大值
int a=1,b=2;
cout<<max(a,b);//输出2
min求最小值
int a=1,b=2;
cout<<min(a,b);//输出1
次方
cout<<pow(2,3);//输出2的三次方 8
要注意默认返回的是double类型,直接输出时可能是科学记数法
cout<<pow(2,20);//1.04858e+06
开根
sqrt(x) 表示求谁的平方是x的意思
cout<<sqrt(4);//2 因为2的平方是4
cout<<sqrt(1.44);//1.2 因为1.2的平方是1.44
绝对值
abs(x) 求整数、小数的绝对值 正数不变,负数变正数
cout<<abs(-3); //3
cout<<abs(-4.15);//4.15
cout<<abs(2); //2
向上取整
ceil() 求一个小数向上取整的结果
cout<<ceil(4.99);//5
cout<<ceil(4.11);//5
cout<<ceil(4.0); //4
cout<<ceil(-3.99);//-3 向上取整,向大的数取整
只要小数部分不是0,就会向上加1,小数部分归零
向下取整
floor() 求一个小数向下取整的结果,但是返回的是小数
cout<<floor(4.99);//4
cout<<floor(4.11);//4
cout<<floor(4.0); //4
cout<<floor(-3.99);//-4 向下取整,向小的数取整
ceil( ) floor( ) int( )的差别
三者都是取整,但是也有区别
- | ceil( ) | floor( ) | int( ) |
---|---|---|---|
含义 | 向上取整 | 向下取整 | 去掉小数 |
返回类型 | 小数 | 小数 | 整数 |
对3.4取整 | 4 | 3 | 3 |
对-3.4取整 | -3 | -4 | -3 |
fmod(x,y)
小数不能直接%取余,但是可以这样算
double a=3.5,b=1.1;
cout<<a-int(a/b)*b;
也可以直接用函数计算
double a=3.5,b=1.1;
cout<<fmod(a,b);//输出0.2