c语言中complex.h用法,complex.h复数及其运算

c语言中complex.h用法,complex.h复数及其运算https://www.cnblogs.com/wuyudong/p/c99-new-feature.html1.复数(complex)complex.h是C标准函数库中的头文件,提供了复数算术所需要的宏定义与函数声明。#definecomplex_Complex#define_Complex_I((constfloat_Complex)__I__)#defineI_Complex…

https://www.cnblogs.com/wuyudong/p/c99-new-feature.html

1.复数(complex)

complex.h是C标准函数库中的头文件,提供了复数算术所需要的宏定义与函数声明。

#definecomplex  _Complex#define_Complex_I  ((const float _Complex)__I__)#defineI  _Complex_I

C99规定了关键字_Complex。因而有3种复数类型:

double _Complex

float _Complex

long double _Complex

次序不是必须遵守的,比如float _Complex也可以写成_Complex float。_Complex_I扩展为类型为const float _Complex的常量值,其值为虚数单位。C99规定complex作为宏扩展为_Complex。但C++未定义complex宏。gcc仅支持complex type,不支持imaginary type。因此宏I扩展为_Complex_I。

里面还包含了不少支持复数的数学函数(c打头的就是):

1、ccos,csin,ctan,cacos,casin,catan:复数域内的三角函数,有对应的f和l版本。

2、ccosh,csinh,ctanh,cacosh,casinh,catanh:复数域内的双曲函数,有对应的f和l版本。

3、cexp,clog,cabs,cpow,csqrt:复数域内的指数、对数、绝对值、幂函数,有对应的f和l版本。

4、carg,cimag,creal,conj,cproj:获取象限角、虚数部分、实数部分、a=x及b=-y、Riemann球上的投影,有对应的f和l版本。

代码:

#include#includeint main()

{

doublecomplex cmp =1.3+2.3*I;

printf(“%f + %fi\n”, creal(cmp), cimag(cmp));

return0;

}

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

1、_Complex是一种新增的数据类型,用来表示复数。C99

新增了复数类型(_Complex)和虚数类型(_Imaginary)。简单来说,C99 提供了三种复数类型:

float _Complex,double _Complex,和 long double _Complex。

对于float _Complex类型的变量来说,它包含两个 float类型的值,一个用于表示复数的实部(real part),

另一个用于表示虚部(imaginary part)。类似地,double _Complex 包含两个 double类型的值。

C99也提供了三种虚数类型:float _Imaginary,double _Imaginary,以及 long double_Imaginary。

虚数类型只有虚部,没有实部。

2、包含标准头文件 complex.h 后,就可以用 complex来代表 _Complex,用imaginary来代表 _Imaginary,以及用 I来代表虚数单位 i,也就是 -1的平方根。例如:

#include

double _Complex x = 5.2;

double complex y = 5.0 * I;

double complex z = 5.2 – 5.0 * I;

3、

注意:_Complex类型对于独立式环境(freestanding

environment)来说是可选的。可选的意思是,不强制必须支持这种类型。而所谓独立式环境,是指 C

程序可以在没有操作系统的情况下运行。_Imaginary类型在任何环境下都是可选的。目前的编译器对这两种类型的支持都不太好。

今天的文章c语言中complex.h用法,complex.h复数及其运算分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/26463.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注