C核心技术手册(十七)

2.4 复数的浮点类型(C99) 

  C99支持数学运算中的复数。1999年标准介绍了复数浮点类型及提供复数函数的扩展数学库,这些函数声明在complex.h中,包含例如三角函数csin(),ctan()等等。

  一个复数z可以在笛卡儿坐标系中使用z=x + y*i表示,其中xy为实数,i是一个虚构的单位,以以下等式定义:i2 = -1x 称做z的实数部分,y 称做z的虚数部分。

  C中,一个复数由一对浮点值来做为它的实数部分和虚数部分,两部分具有相同的数据类型,为floatdoublelong double,因此,有三类的复数浮点类型:

l  Float _Complex

l  Double _Complex

l  Long double _Complex

这些类型中的每一个都具有相同的大小和队列(像数组一样有两个元素,类型为floatdoublelong double.

  头文件complex.h定义了宏 complexI,宏complex为关键词_Complex的近义词,宏I表示虚构单位i , 并有类型const float _Complex:

#include <complex.h> // ... double complex z = 1.0 + 2.0 * I; z *= I; // Rotate z through 90° counterclockwise around the origin.   

你可能感兴趣的:(c,扩展,float)