搞定iOS开发!math.h中的ceil、floor和round函数详解
最编程
2024-01-20 22:01:16
...
#include <math.h>
-(void)mathTest{
//----------------------------
//ceil(double x):计算不小于x的最小整数
NSLog(@"ceil(4.2): %f",ceil(4.2));
//floor(double x):计算不大于x的最大整数
NSLog(@"floor(4.2): %f",floor(4.2));
//floor(double x):计算不大于x的最大整数
NSLog(@"round(4.2): %f,round(4.55): %f",round(4.2),round(4.55));
//-----------------------------
CGFloat d = 180;
//cos计算x(单位为弧度)的余弦值。函数cos返回余弦值
NSLog(@"cos(180): %f",cos(d));
//sin计算x(以弧度为单位)的正弦值。函数sin返回正弦值。
NSLog(@"sin(180): %f",sin(d));
//tan返回x(以弧度为单位)的正切值。函数返回正切值。
NSLog(@"tan(180): %f",tan(d));
//-----------------------------
CGFloat c = 0.5;
//acos:计算x的反余弦,取值x[-1, +1],函数返回[0, π]弧度
NSLog(@"反余弦acos(0.5): %f",acos(c));
//asin:计算x的反正弦,取值x[-1, +1],函数返回[-π/2, +π/2]弧度
NSLog(@"反正弦asin(0.5): %f",asin(c));
//atan:计算x的反正切,函数atan返回[-π/2, +π/2]弧度
NSLog(@"x的反正切atan(0.5): %f",atan(c));
//atan2:计算y/x的反正切,函数在[-π, +π]弧度范围内,确定返回值的象限信息
NSLog(@"y/x的反正切atan2(3,-4): %f",atan2(3,-4));
//-----------------------------
//sinh计算x的双曲正弦,定义域(-Inf, +Inf),值域(-Inf, +Inf)。
NSLog(@"双曲正弦sinh(0.5): %f",sinh(c));
//cosh计算x的双曲余弦,定义域(-Inf, +Inf),值域(-Inf, +Inf)。
NSLog(@"双曲余弦cosh(0.5): %f",cosh(c));
//tanh计算x的双曲正切,定义域(-Inf, +Inf),值域(-1, +1)。
NSLog(@"双曲正切tanh(0.5): %f",tanh(c));
//log:计算x的自然对数 取值 >0;
NSLog(@"log(4): %f",log(4));
//log10:计算x的以10为底的对数
NSLog(@"log10(100): %f",log10(100));
//pow(double x, double y):x的y次幂
NSLog(@"pow(2, 4): %f",pow(2, 4));
//sqrt(double x):计算x的非负平方根
NSLog(@"sqrt(4): %f",sqrt(4));
//fmod(double x, double y):计算x/y的浮点余数
NSLog(@"fmod(8, 3): %f",fmod(8, 3));
//---------------------------------
//double ldexp(double x, int exp); 函数ldexp计算一个浮点数和2的整数幂的乘积,有可能发生值域错误。函数ldexp返回x乘以2的exp次幂的值。注意,ldexp和frexp是互逆的操作。s = f*2n
NSLog(@"ldexp(0.3, 3): %f",ldexp(0.3, 3));
}