_Imaginary_I
来自cppreference.com
在标头 <complex.h> 定义
|
||
#define _Imaginary_I /* 未指明 */ |
(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 z2 = NaN+Infi
引用
- C11 标准(ISO/IEC 9899:2011):
- 7.3.1/5 _Imaginary_I (第 188 页)
- G.6/1 _Imaginary_I (第 537 页)
- C99 标准(ISO/IEC 9899:1999):
- 7.3.1/3 _Imaginary_I (第 170 页)
- G.6/1 _Imaginary_I (第 472 页)
参阅
(C99) |
复数单位常量 i (宏常量) |
(C99) |
复数或虚数单位常量 i (宏常量) |