【转】Objective-C中的常用数学常量宏及函数

在实际工作中有些程序不可避免的需要使用数学函数进行计算,比如地图程序的地理坐标到地图坐标的变换。Objective-C做为ANSIC的扩展,使用C标准库头文件<math.h>中定义的数学常量宏及数学函数来实现基本的数学计算操作,所以不必费神再在CocoaFoundation中寻找相应的函数和类了。这里列出一些常用宏和数学函数,更详细的信息还是需要去查阅<math.h>头文件。

数学常量:

#defineM_E2.71828182845904523536028747135266250//e

#defineM_LOG2E1.44269504088896340735992468100189214//log2e

#defineM_LOG10E0.434294481903251827651128918916605082//log10e

#defineM_LN20.693147180559945309417232121458176568//loge2

#defineM_LN102.30258509299404568401799145468436421//loge10

#defineM_PI3.14159265358979323846264338327950288//pi

#defineM_PI_21.57079632679489661923132169163975144//pi/2

#defineM_PI_40.785398163397448309615660845819875721//pi/4

#defineM_1_PI0.318309886183790671537767526745028724//1/pi

#defineM_2_PI0.636619772367581343075535053490057448//2/pi

#defineM_2_SQRTPI1.12837916709551257389615890312154517//2/sqrt(pi)

#defineM_SQRT21.41421356237309504880168872420969808//sqrt(2)

#defineM_SQRT1_20.707106781186547524400844362104849039//1/sqrt(2)

常用函数:

//指数运算

NSLog(@"%.f",pow(3,2));//result9

NSLog(@"%.f",pow(3,3));//result27

//开平方运算

NSLog(@"%.f",sqrt(16));//result4

NSLog(@"%.f",sqrt(81));//result9

//上舍入

NSLog(@"res:%.f",ceil(3.000000000001));//result4

NSLog(@"res:%.f",ceil(3.00));//result3

//下舍入

NSLog(@"res:%.f",floor(3.000000000001));//result3

NSLog(@"res:%.f",floor(3.9999999));//result3

//四舍五入

NSLog(@"res:%.f",round(3.5));//result4

NSLog(@"res:%.f",round(3.46));//result3

NSLog(@"res:%.f",round(-3.5));//NB:thisonereturns-4

//最小值

NSLog(@"res:%.f",fmin(5,10));//result5

//最大值

NSLog(@"res:%.f",fmax(5,10));//result10

//绝对值

NSLog(@"res:%.f",fabs(10));//result10

NSLog(@"res:%.f",fabs(-10));//result10

这里没有列出的三角函数也是属于C标准数学函数的一部分,也可以在<math.h>中查阅。

相关推荐