2.4 复数的浮点类型(C99)
C99支持数学运算中的复数。1999年标准介绍了复数浮点类型及提供复数函数的扩展数学库,这些函数声明在complex.h中,包含例如三角函数csin(),ctan()等等。
一个复数z可以在笛卡儿坐标系中使用z=x + y*i表示,其中x和y为实数,i是一个虚构的单位,以以下等式定义:i2 = -1。x 称做z的实数部分,y 称做z的虚数部分。
在C中,一个复数由一对浮点值来做为它的实数部分和虚数部分,两部分具有相同的数据类型,为float、double或long double,因此,有三类的复数浮点类型:
l Float _Complex
l Double _Complex
l Long double _Complex
这些类型中的每一个都具有相同的大小和队列(像数组一样有两个元素,类型为float、double或long double).
头文件complex.h定义了宏 complex和I,宏complex为关键词_Complex的近义词,宏I表示虚构单位i , 并有类型const float _Complex: