_Imaginary_I
|
定义于头文件
<complex.h>
|
||
|
#define _Imaginary_I /* 未指定 */
|
(C99 起) | |
_Imaginary_I
宏展开为类型
const
float
_Imaginary
的值,其值为虚数单位。
与C语言中任何纯虚数的支持一样,此宏仅在支持虚数时被定义。
|
定义了
__STDC_IEC_559_COMPLEX__
的编译器不要求支持虚数。POSIX 建议通过检查宏
|
(since C99)
(until C11) |
|
若定义了 __STDC_IEC_559_COMPLEX__ 则支持虚数。 |
(since 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 (页: 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
(宏常量) |