_Imaginary_I
来自 cppreference.com
在头文件 <complex.h> 中定义 |
||
#define _Imaginary_I /* 未指定 */ |
(自 C99) | |
_Imaginary_I
宏扩展为类型 const float _Imaginary 的值,其值为虚数单位。
与 C 中的任何纯虚数支持一样,此宏仅在支持虚数时才定义。
定义了 __STDC_IEC_559_COMPLEX__ 的编译器不需要支持虚数。POSIX 建议检查宏 |
(自 C99) (直到 C11) |
如果定义了 __STDC_IEC_559_COMPLEX__,则支持虚数。 |
(自 C11) |
内容 |
[编辑] 注意
此宏允许以精确的方式从其实部和虚部组装复数,例如使用 (double complex)((double)x + _Imaginary_I * (double)y)。此模式在 C11 中被标准化为宏 CMPLX。请注意,如果使用 _Complex_I,则此表达式允许将负零转换为虚位置的正零。
[编辑] 示例
运行此代码
输出
z1 = 0.0+Infi z2 = NaN+Infi
[编辑] 参考
- C11 标准 (ISO/IEC 9899:2011)
- 7.3.1/5 _Imaginary_I (p: 188)
- G.6/1 _Imaginary_I (p: 537)
- C99 标准 (ISO/IEC 9899:1999)
- 7.3.1/3 _Imaginary_I (p: 170)
- G.6/1 _Imaginary_I (p: 472)
[编辑] 另请参见
(C99) |
复数单位常量 i (宏常量) |
(C99) |
复数或虚数单位常量 i (宏常量) |