Objective C中的常用數學常量巨集及函式

2021-06-28 20:50:21 字數 2124 閱讀 2475

在實際工作中有些程式不可避免的需要使用數學函式進行計算,比如地圖程式的地理座標到地圖座標的變換。objective-c做為ansi c的擴充套件,使用c標準庫標頭檔案中定義的數學常量巨集及數學函式來實現基本的數學計算操作,所以不必費神再在cocoa foundation中尋找相應的函式和類了。這裡列出一些常用巨集和數學函式,更詳細的資訊還是需要去查閱標頭檔案。

數學常量:

#define m_e         2.71828182845904523536028747135266250   // e

#define m_log2e     1.44269504088896340735992468100189214   // log 2e

#define m_log10e    0.434294481903251827651128918916605082  // log 10e

#define m_ln2       0.693147180559945309417232121458176568  // log e2

#define m_ln10      2.30258509299404568401799145468436421   // log e10

#define m_pi        3.14159265358979323846264338327950288   // pi

#define m_pi_2      1.57079632679489661923132169163975144   // pi/2

#define m_pi_4      0.785398163397448309615660845819875721  // pi/4

#define m_1_pi      0.318309886183790671537767526745028724  // 1/pi

#define m_2_pi      0.636619772367581343075535053490057448  // 2/pi

#define m_2_sqrtpi  1.12837916709551257389615890312154517   // 2/sqrt(pi)

#define m_sqrt2     1.41421356237309504880168872420969808   // sqrt(2)

#define m_sqrt1_2   0.707106781186547524400844362104849039  // 1/sqrt(2)

常用函式:

//指數運算

nslog(@"%.f", pow(3,2) ); //result 9

nslog(@"%.f", pow(3,3) ); //result 27

//開平方運算

nslog(@"%.f", sqrt(16) ); //result 4

nslog(@"%.f", sqrt(81) ); //result 9

//上捨入

nslog(@"res: %.f", ceil(3.000000000001)); //result 4

nslog(@"res: %.f", ceil(3.00)); //result 3

//下捨入

nslog(@"res: %.f", floor(3.000000000001)); //result 3

nslog(@"res: %.f", floor(3.9999999)); //result 3

//四捨五入

nslog(@"res: %.f", round(3.5)); //result 4

nslog(@"res: %.f", round(3.46)); //result 3

nslog(@"res: %.f", round(-3.5)); //nb: this one returns -4

//最小值

nslog(@"res: %.f", fmin(5,10)); //result 5

//最大值

nslog(@"res: %.f", fmax(5,10)); //result 10

//絕對值

nslog(@"res: %.f", fabs(10)); //result 10

nslog(@"res: %.f", fabs(-10)); //result 10

這裡沒有列出的三角函式也是屬於c標準數學函式的一部分,也可以在中查閱。

Xcode基礎 Objective C中的陣列詳解

有些時候,你需要使用一系列資料。比如一堆字串,將每乙個串都賦乙個變數將是一件很麻煩的事情。當然,objective c中,這裡有更好的解決方案 陣列 array 乙個陣列是一組有序的物件列表 更具體的說是一組物件指標的列表 你可以向陣列新增物件,移除物件,或者檢視陣列的給定位置上存放了哪個物件。你也...

objective c 中隨機數的用法

1 隨機數的使用 1 arc4random 比較精確不需要生成隨即種子 使用方法 通過arc4random 獲取0到x 1之間的整數的 如下 int value arc4random x 獲取1到x之間的整數的 如下 int value arc4random x 1 2 ccrandom 0 1 c...

Objective C中的常用數學常量巨集及函式

在實際工作中有些程式不可避免的需要使用數學函式進行計算,比如地圖程式的地理座標到地圖座標的變換。objective c做為ansi c的擴充套件,使用c標準庫標頭檔案中定義的數學常量巨集及數學函式來實現基本的數學計算操作,所以不必費神再在cocoa foundation中尋找相應的函式和類了。這裡列...