复数:complex.h(C99)

作者:追风剑情 发布于:2020-8-26 14:33 分类:C

C99标准支持复数计算,C11进一步支持了这个功能。实现除提供_Complex类型外还可以选择是否提供_Imaginary类型。在C11中,可以选择是否提供这两类型。C99规定,实现必须提供_Complex类型,但是_Imaginary类型是可选,可以提供或不提供。

complex.h宏
描述
complex 展开为类型关键字_Complex
_Complex_I 展开为const float _Complex类型的表达式,其值的平方是-1
imaginary 如果支持虚数类型,展开为类型关键字_Imaginary
_Imaginary_I 如果支持虚数类型,展开为const float _Imaginary类型的表达式,其值的平方是-1
I 展开为_Complex_I或_Imaginary_I
对于实现复数方面,C和C++不同。C通过complex.h头文件支持,而C++通过complex头文件支持。而且,C++使用类来定义复数类型。

可以使用STDC CX_LIMITED_RANGE编译指令来表明是使用普通的数学公式(设置为on时),还是要特别注意极值(设置为off时):
#include <complex.h>
#pragma STDC CX_LIMITED_RANGE on
库函数分为3种:double、float、long double。float和long double版本只需要在函数名后面分别加上f和l。即csinf()就是csin()的float版本,而csinl()是csin()的long double版本。另外要注意,角度的单位是弧度。

复数函数
原型 描述
double complex cacos(double complex z) 返回z的复数反余弦
double complex casin(dobule complex z) 返回z的复数反正弦
double complex catan(double complex z) 返回z的复数反正切
double complex ccos(double complex z) 返回z的复数余弦
double complex csin(double complex z) 返回z的复数正弦
double complex ctan(double complex z) 返回z的复数正切
double complex cacosh(double complex z) 返回z的复数反双曲余弦
double complex casinh(double complex z) 返回z的复数反双曲正弦
double complex catanh(double complex z) 返回z的复数反双曲正切
double complex ccosh(double complex z) 返回z的复数双曲余弦
double complex csinh(double complex z) 返回z的复数双曲正弦
double complex ctanh(double complex z) 返回z的复数双曲正切
double complex cexp(double complex z) 返回e的z次幂复数值
double complex clog(double complex z) 返回z的自然对数(以e为底)的复数值
double cabs(double complex z) 返回z的绝对值(或大小)
double complex cpows(double complex z, double complex y) 返回z的y次幂
double complex csqrt(double complex z) 返回z的复数平方根
double carg(double complex z) 以弧度为单位返回z的相位角(或幅角)
double cimag(double complex z) 以实数形式返回z的虚部
double complex conj(double complex z) 返回z的共轭复数
double complex cproj(double complex z) 返回z在黎曼球面上的投影
double complex CMPLX(double x, double y) 返回实部为x、虚部为y的复数(C11)
double creal(double complex z) 以实数形式返回z的实部

标签: C语言

Powered by emlog  蜀ICP备18021003号   sitemap

川公网安备 51019002001593号