`
Poechant
  • 浏览: 212227 次
博客专栏
Bebe66e7-3a30-3fc9-aeea-cfa3b474b591
Nginx高性能Web服务...
浏览量:23500
5738817b-23a1-3a32-86de-632d7da73b1e
Cumulus实时媒体服务...
浏览量:21410
社区版块
存档分类
最新评论

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,并且设置变量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

-

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics