跳转到内容

C 编程/complex.h

来自维基教科书,开放书籍,开放世界

complex.h 是一个头文件,定义了复数运算的功能。[1] 这些函数使用内置类型 complex,该类型在 C99 版本的 C 中引入。

此头文件不应与 C++ 标准库头文件 <complex> 混淆,后者以完全不同的方式(作为模板类,complex<T>)实现复数。

通用宏

  • complex - _Complex 的别名
  • _Complex_I - 常量,类型为 "const float _Complex",值为虚数单位 I,I*I=-1

仅针对 `C99 Annex G` 兼容的编译器模式定义 - 虚数类型的本机支持(非常罕见,因为 Annex G 在数学上不正确[2])

  • imaginary - _Imaginary 的别名
  • _Imaginary_I 展开为类型为 const float _Imaginary 的常量表达式,值为虚数单位。

I 的通用别名

  • I - 如果定义了 _Imaginary_I,则为 _Imaginary_I 的别名,否则为 _Complex_I 的别名

应用程序可能会取消定义 complex、imaginary 和 I 宏,如果它们与内部值冲突。

函数概述

[编辑 | 编辑源代码]

complex.h 中声明的每个函数都有三个版本,每个版本都使用不同的浮点类型(doublefloatlong double)。这里只列出了每个函数的 double 版本;要使用 float(或 long double)版本,请在函数名称后附加一个 f(或 l,分别)(例如,cabsfcabsl)。

请注意,所有角度都以弧度表示。

基本运算
cabs 计算绝对值
carg 计算复数的幅角
cimag 计算复数的虚部
creal 计算复数的实部
conj 计算复数共轭
cproj 计算复数到黎曼球面的投影
指数运算
cexp 计算复数指数
clog 计算复数对数
csqrt 计算复数平方根
cpow 计算复数幂
三角运算
csin 计算复数正弦
ccos 计算复数余弦
ctan 计算复数正切
casin 计算复数反正弦
cacos 计算复数反余弦
catan 计算复数反正切
双曲运算
csinh 计算复数双曲正弦
ccosh 计算复数双曲余弦
ctanh 计算复数双曲正切
casinh 计算复数双曲反正弦
cacosh 计算复数双曲反余弦
catanh 计算复数双曲反正切

参考文献

[编辑 | 编辑源代码]
  1. complex.h: 复数运算 – 基本定义参考,The Single UNIX® Specification,来自 The Open Group 的第 7 版
  2. Dr. Dobb's journal: 软件工具,面向专业程序员,第 27 卷 "Annex G 中的许多结果都是纯粹的臆造,在数学上是错误的"
华夏公益教科书