_Imaginary_I
定义于头文件 <complex.h>
|
||
#define _Imaginary_I /* unspecified */ |
(C99 起) | |
_Imaginary_I
宏展开成类型 const float _Imaginary 的值,其值为虚数单位。
同 C 中的纯虚数支持,仅若支持虚数才定义此宏。
推荐编译器定义 __STDC_IEC_559_COMPLEX__ ,但并不强制要求其支持虚数。 POSIX 推荐检查是否定义宏 _Imaginary_I 以鉴别是否支持虚数。 | (C99 起) (C11 前) |
若定义 __STDC_IEC_559_COMPLEX__ ,则支持虚数。 |
(C11 起) |
注意
此宏允许从其实部和虚部精确地构成复数,例如用 (double complex)((double)x + _Imaginary_I * (double)y) 。此模式在 C11 中作为 CMPLX 标准化。注意若使用了 _Complex_I ,则允许此表达式在虚数位置将负零转变成正零。
示例
运行此代码
输出:
z = 0.0-0.0i
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.3.1/5 _Imaginary_I (p: 188)
- G.6/1 _Imaginary_I (p: 537)
- C99 standard (ISO/IEC 9899:1999):
- 7.3.1/3 _Imaginary_I (p: 170)
- G.6/1 _Imaginary_I (p: 472)
参阅
(C99) |
复数单位常量i (宏常量) |
(C99) |
复数或虚数单位常量i (宏常量) |