C標準庫參考指南系列譯文(7)math.h

鍾超發表於2012-02-05

英文原文:http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.7.html

原文作者:Eric Huss

中文譯者:柳驚鴻 Poechant

版權宣告:本文的原文版權歸Eric Huss所有,中文譯文版權歸Poechant所有。轉載請註明來自"柳大的CSDN部落格"http://blog.csdn.net/poechant


7. math.h

數學標頭檔案定義了很多數學函式。

巨集:

HUGE_VAL


函式:

acos();

asin();

atan();

atan2();

ceil();

cos();

cosh();

exp();

fabs();

floor();

fmod();

frexp();

ldexp();

log();

log10();

modf();

pow();

sin();

sinh();

sqrt();

tan();

tanh();


7.1.錯誤條件

所有math.h函式產生錯誤的情形都是類似的。

當傳遞給函式的引數超出了函式要求的引數定義域時,變數errno被設定為EDOM。函式的返回值是依實現而定的。

當返回值太大而超出了double的數值範圍時,函式返回巨集值HUGE_VAL,並且設定變數errnoERANGE來表示溢位。如果值太小以至於無法表示為double,則函式返回0。在這種情況下,errno是否被設定為ERANGE是依實現而定。

errnoEDOM,和ERANGE在標頭檔案errno.h中定義。

注意在所有沒有定義域限制的情形(即預設情況)下,引數的值被double型別的最大值和最小值所限制。


7.2.三角函式

7.2.1. acos

宣告:

double acos(double x);


返回:


弧度值“x”的餘弦值。


定義域和值域:


定義域為[-1, +1]。值域是[0, PI]。


7.2.2. asin

宣告:

double asin(doublex);


返回:

弧度值“x”的反正弦值。


定義域和值域:


定義域為[-1, +1]。值域為[-PI/2, +PI/2]


7.2.3. atan

宣告:


double atan(double x);


返回:

弧度值“x”的反正切值。


定義域和值域:


定義域無限制。值域為[-PI/2, +PI/2]


7.2.4. atan2

宣告:


double atan2(doubly y, double x);


返回:

返回弧度值“y/x”的正負兩種情況中符合值域範圍的反正切值。


定義域和值域:


“y”“x”都不能是0。值域為[-PI/2, +PI/2]


7.2.5. cos

宣告:


double cos(double x);


返回:

返回弧度值“x”的餘弦值。


定義域和值域:


定義域無限制。值域為[-1, +1]


7.2.6. cosh

宣告:


double cosh(double x);


返回“x”的雙曲餘弦值。


定義域和值域:


無限制。


7.2.7. sin

宣告:


double sin(double x);


返回弧度值“x”的正弦值。


定義域和值域:


無定義域限制,值域為[-1, +1]


7.2.8. sinh

宣告:


double sinh(double x);


返回“x”的雙曲正弦值。


定義域和值域:


無。


7.2.9. tan

宣告:


double tan(double x);


返回“x”弧度值的正切值。


定義域和值域:


無。


7.2.10. tanh

宣告:


double tanh(double x);


返回:

“x”的雙曲正切值。


定義域和值域:


定義域無限制。值域為[-1, +1]


7.3. Exponential, Logarithmic, and Power Functions

7.3.1. exp

宣告:


double exp(double x);


返回:

自然常熟“e”“x”次冪。


定義域和值域:


無限制。


7.3.2. frexp

宣告:


double frexp(double x, int *exponent);


“x”frexp函式中會被分拆出科學記數法中的尾數和指數兩部分。exponent指標所指向的值為指數。可表示為“x = 尾數 * 2^指數

返回:

返回尾數。另外“exponent”被設定為指數值。


定義域與值域:


尾數的範圍是[0.5, 1)


7.3.3. ldexp

宣告:


double ldexp(double x, intexponent);


返回:


“x”乘以2exponent次冪,即 x * 2 ^ exponent


定義域和值域:


無限制。


7.3.4. log

宣告:


double log(double x);


返回:

以自然常數“e”為底數的x的對數值,即x的自然對數。


定義域和值域:


無限制。


7.3.5. log10

宣告:


double log10(double x);


返回:

10為底數的“x”的對數值。


定義域和值域:


無限制。


7.3.6. modf

宣告:


double modf(double x, double *integer);


“x”被拆分為整數部分和小數部分。

返回:


“x”小數部分,並且將integer所指的double數值設定為“x”的整數部分。


定義域和值域:


無限制。


7.3.7. pow

宣告:


double pow(double x, double y);


返回:


“x”“y”次冪。


定義域和值域:


如果“y”是一個大於0小於1的數,那麼“x”不能為負值。如果“y”小於等於0,那麼“x”不能為0


7.3.8. sqrt

宣告:


double sqrt(double x);


返回:

“x”的算數平方根。


定義域和值域:


引數為非負值。返回值總為正。


7.4.其他數學函式

7.4.1. ceil

宣告:


double ceil(double x);


返回:


大於等於“x”的最小整數。


定義域和值域:


無限制。


7.4.2. fabs

宣告:


double fabs(double x);


返回:


“x”的絕對值。


定義域和值域:


無定義域限制,而返回值總是正的。


7.4.3. floor

宣告:


double floor(double x);


返回:


小於等於“x”的最大整數。


定義域和值域:


無限制。


7.4.4. fmod

宣告:


double fmod(double x, double y);


返回:


“x”除以“y”所得的餘數(模)。


定義域和值域:


值域無限制。如果返回值為0,則會產生範圍錯誤,或者返回0值(具體依實現而定)。


該系列譯文在持續更新中⋯⋯

C標準庫參考指南系列譯文(1)assert.h

C標準庫參考指南系列譯文(2)ctype.h

C標準庫參考指南系列譯文(3)errno.h

C標準庫參考指南系列譯文(4)float.h

C標準庫參考指南系列譯文(5)limits.h

C標準庫參考指南系列譯文(6)locale.h

C標準庫參考指南系列譯文(7)math.h

C標準庫參考指南系列譯文(8)setjmp.h

C標準庫參考指南系列譯文(9)signal.h

C標準庫參考指南系列譯文(10)stdarg.h

C標準庫參考指南系列譯文(11)stddef.h

C標準庫參考指南系列譯文(12)stdio.h(A)


版權宣告:本文的原文版權歸Eric Huss所有,中文譯文版權歸Poechant所有。轉載請註明來自"柳大的CSDN部落格"http://blog.csdn.net/poechant

-

相關文章