C標準庫參考指南系列譯文(7)math.h
英文原文: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,並且設定變數errno為ERANGE來表示溢位。如果值太小以至於無法表示為double,則函式返回0。在這種情況下,errno是否被設定為ERANGE是依實現而定。
errno,EDOM,和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”乘以2的exponent次冪,即 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
-
相關文章
- C標準庫參考指南系列譯文
- C標準庫參考指南系列譯文(11)stddef.h
- C標準庫參考指南系列譯文(10)stdarg.h
- C標準庫參考指南譯文系列(8)setjmp.h
- C標準庫參考指南系列譯文(6)locale.h
- C標準庫參考指南系列譯文(5)limits.hMIT
- C標準庫參考指南系列譯文(4)float.h
- C標準庫參考指南系列譯文(3)errno.h
- C標準庫參考指南系列譯文(2)ctype.h
- C標準庫參考指南系列譯文(1)assert.h
- C標準庫參考指南系列譯文(12)stdio.h(A)
- C標準庫參考指南系列譯文(9)signal.h
- 轉 《五蠹》參考譯文
- POCO庫中文程式設計參考指南(7)Poco::Net::DatagramSocket程式設計
- SR 提交email 標準格式 --- 供參考AI
- 軟體測試BUG參考標準
- C 標準庫 -
- C++標準庫、C++標準模版庫介紹C++
- 前端參考指南前端
- C++標準庫C++
- BOOST庫 學習參考完全開發指南
- c/c++ 標準庫 vectorC++
- 找java培訓機構有哪些參考標準Java
- C標準庫學習
- - C語言標準庫C語言
- C++標準庫:chronoC++
- C++標準庫:randomC++random
- Elasticsearch 參考指南(介紹)Elasticsearch
- C 標準庫 – ctype.h
- C++標準模板庫------容器C++
- C++標準庫::拾遺C++
- POCO庫中文程式設計參考指南(1)總覽程式設計
- 什麼是 C 和 C ++ 標準庫?
- c/c++ 標準庫 map set 插入C++
- c/c++ 標準庫 迭代器(iterator)C++
- HTML標籤參考(一)HTML
- #region(C# 參考)C#
- Spring Boot 參考指南(Hazelcast)Spring BootAST